2012-05-30 45 views
-1

执行以下mysql查询时,字段会使用null填充而不是指定的值。NULL在表中填充而不是值

INSERT INTO invoices VALUES( 
slNo='2', mrp='3', PplusT='3.375', 
name='Eraser', code='002', qty='15', 
unitPrice='3', rateOfTax='12.5', taxAmt='0.375', 
cess='0.004', total='50.625', billNo='10001') 

表架构

slNo   int(11)          
mrp    float           
PplusT   float          
name   varchar(50)       
code   varchar(10)       
qty    int(11)     
unitPrice  float     
rateOfTax  float     
taxAmt   float       
cess   float      
total   float   
billNo   varchar(10) 

我试着查询中使用PHP以及PHPMYADMIN但结果是一样的。

+0

为什么downvote?问题清晰,简明,主题甚至显示努力。我认为这是不公平的,因为OP不知道答案。 –

回答

3

请检查manual。与SET

INSERT INTO invoices 
SET slNo=2, mrp=3, PplusT=3.375, 
name='Eraser', code='002', qty=15, 
unitPrice=3, rateOfTax=12.5, taxAmt=0.375, 
cess=0.004, total=50.625, billNo='10001' 

更换VALUES,必须先拆除值引号的数字数据类型,或将尝试将它们作为字符串。

+0

宾果!!!!!!!!!!!!!! –

+0

@Xaade woa .. ^这是有效的。我学到了新东西o.O –

+0

谢谢:)我永远都不会找到这个:) – rjv

0

尝试unquoting你的号码......你基本上要插入的字符串到整型和浮点

INSERT INTO invoices VALUES( 
slNo=2, mrp=3, PplusT=3.375, 
name='Eraser', code='002', qty=15, 
unitPrice=3, rateOfTax=12.5, taxAmt=0.375, 
cess=0.004, total=50.625, billNo='10001') 
0

请仔细阅读说明书http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

 INSERT INTO invoices SET 
      slNo='2', mrp='3', PplusT='3.375', 
      name='Eraser', code='002', qty='15', 
      unitPrice='3', rateOfTax='12.5', taxAmt='0.375', 
      cess='0.004', total='50.625', billNo='10001' 

INSERT INTO invoices (slNo, mrp, PplusT, name, code, qty, unitPrice, rateOfTax,taxAmt, 
     cess, total, billNo) VALUES('2', '3', '3.375', 'Eraser', '002', '15', '3', '12.5', '0.375','0.004', '50.625', '10001') 
0

我可能是错的,但一个INSERT语句不应该像她那样:

INSERT INTO invoices (slNo, mrp, PplusT, name, code, qty, unitPrice, rateOfTax, taxAmt, cess, total, billNo) 
VALUES('2', '3', '3.375', 'Eraser', '002', '15', '3', '12.5', '0.375', 
'0.004', '50.625', '10001') 
+0

我也不这么认为,但请查看我的答案手册。这是可以的^^ –

+0

@碎片啊是的,我见过那一个。插入的'SET'是从5.0开始引入的,我相信。 –

相关问题