今天在导入一个user表的时候,出现错误#1366 – Incorrect integer value: ” for column ‘id’ at row 1,经过百度,发现这是mysql 5.x以上的版本如果是空值应该要写NULL。 官方说:得知新版本mysql对空值插入有”bug”,要在安装mysql的时候去除默认勾选的enable strict SQL mode。 那么问题是我们发现问题的时候,肯定是已经安装完mysql了,这种情况下,我建议按照mysql的规则去做,该NULL就NULL,没啥麻烦的,反而我觉得这样更好。但非要解决这个问题,可以从mysql中的配置 my.ini入手,以下是解决办法: my.ini中查找sql-mode,默认为sql-mode=”STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”, 将其修改为sql-mode=”NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”,重启mysql后即可。 (责任编辑:IT) |