mysql插入查询数据类型

时间:2017-06-28 12:27:26

标签: mysql

我的表product_type包含列:ID_TYPE,PRODUCT_NAME,DESCRIPTION,QUANTITY。

INSERT QUERY应该是:

Insert into product_type(PRODUCT_NAME, DESCRIPTION, QUANTITY)
values
('Muffin','blahblahblah','1 piece'),
('Cookies','blahblahblah','1 kg');

QUANTITY列的数据类型为DECIMAL。我插入产品数量有问题。我发现了错误:

  

受影响的3行,3警告:1265列的数据被截断   ' QUANTITY'在第1行1265数据截断列#QUANTITY'在一排   2:2重复:0警告:2

你有解决方案吗?也许我应该只写1而不是' 1件'或者' 1公斤'。

2 个答案:

答案 0 :(得分:1)

如你所说,如果数量的数据类型是十进制的,那么你就不能在其中存储srting。为了存储单位,我建议你制作另一个char类型的单位来存储单位,如Kg或Ltr或g等。

ID_TYPE, PRODUCT_NAME, DESCRIPTION, QUANTITY.
INSERT QUERY should be:
Insert into product_type(PRODUCT_NAME, DESCRIPTION, QUANTITY, UNIT)
values
('Muffin','blahblahblah',1, 'piece'),
('Cookies','blahblahblah',1 ,'kg');

答案 1 :(得分:0)

检查QUANTITY列的数据类型,我认为它是INTDECIMAL,并且您尝试在其中插入字符串值1 piece。在这种情况下,使用消息

插入过去的整数,即1
  

第1行的“QUANTITY”列截断数据

因此,请根据datatype

插入适当的值