我迁移的一些脚本正在做很多
INSERT INTO `table` ( `id` , `fld2` , `fld3`) VALUES ( '', 'v2', 'v3')
id
定义为:int(10) NOT NULL auto_increment
。
我的数据库/ mysql服务器(5.1.57)抛出错误:
1366 - Incorrect integer value: '' for column 'id' at row 1
''
在没有语法错误的情况下被接受,并将整数字段自动递增到原始服务器上的下一个数字(5.1.52)。知道mysql服务器设置有什么区别吗?它可能不是版本差异,都是5.1.xx?
答案 0 :(得分:4)
由于id是auto_increment,因此不应在插入查询中提及它:
INSERT INTO table (fld2 , fld3) VALUES ('v2', 'v3')
此外,你在你的id中插入字符串,因此万一它不是auto_increment你会得到同样的错误。
答案 1 :(得分:0)
看起来当前服务器的默认设置与前一个不同。查看有关strict mode设置的MySQL文档。