我正在创建一个数据库,并尝试在表中添加一些值,我对一个选项卡进行了1次警告(但数据存储正确) 表格是
CREATE TABLE MACCHINE(
id_macchina VARCHAR(3) PRIMARY KEY NOT NULL, # M01... M20
id_upX VARCHAR(4) NOT NULL, #MUL
descrizione VARCHAR(200) NOT NULL,
data_acquisto DATE NOT NULL,
valore DECIMAL(10,2) NOT NULL);
,值为
INSERT INTO MACCHINE
(id_macchina,id_upX, descrizione, data_acquisto, valore)
VALUES
("M01","UP01","SOMETHING", "1994-04-13", "1400000,00");
但是我得到了错误
Query OK, 1 row affected, 1 warning (0.01 sec)
如果我写SHOW WARNINGS
,我会得到| Warning | 1265 | Data truncated for column 'valore' at row 1
但是为什么呢?数字只有9,我已将限制设置为10,但是如果我尝试插入60,00
,也会遇到相同的错误,这是我做错了吗?
答案 0 :(得分:3)
对于数字值,应使用数字而不是字符串,因此应避免在数字两边使用引号。.使用引号具有隐式转换(以浮点数和小数表示的小数),因此您超过了限制,并且截断了警告
INSERT INTO MACCHINE
(id_macchina,id_upX, descrizione, data_acquisto, valore)
VALUES
("M01","UP01","SOMETHING", "1994-04-13", 1400000.00);