mysql 插入数值到特定的列一直失败

这是要插入数据的表
clipboard.png

当我用下面的语句不指定列直接插入的时候能成功插入
INSERT INTO sql_time_record VALUES ('1', 'aaa', '0', '7.1220', 'aaa', '2016-07-29 15:15:24');

但如果我指定列的话就死活插入不成功了
INSERT INTO sql_time_record (sql,cost_time,index_type,note) VALUES ( 'aaa', '7.1220','0', 'aaa');

clipboard.png

其他未指定的列都有默认值,完全搞不懂错在哪

阅读 4.4k
4 个回答

因为 sql 这个字段名的问题,其实你根据错误信息就知道了,很明显告诉你从 sql 这个地方开发错的。最好还是为表名、字段名都加上反引号就能预防此类错误了。
类似的还有use, timestamp也都是挺常用到的字段名,也是与关键字冲突。

列的顺序要和表的一致?

INSERT INTO sql_time_record (sql,,index_type,cost_time,note) VALUES ( 'aaa', '0','7.1220', 'aaa');

cost_time,index_type 这两个列你都是数字,你传入的值却是字符串啊,要传数字需要把引号去掉

sql 关键字吧 我之前address 总简写成 add 也是提示错误