mysql int类型数据插入空值时报错,调整sql-mode

insert into log values('','admin','31','physics')
这样写就会报错:
Incorrect integer value: '' for column 'id' at row 1
这种应该是版本问题,尤其是虚拟主机。
把''改成null不会出错:

这种问题一般mysql 5.x上出现。我用的mysql5.1,后面查询得知新版本mysql对空值插入有"bug",要在安装mysql的时候去除默认勾选的enable strict SQL mode。如果已经安装好了的,就在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后即可。

posted on 2018-03-26 11:29  立志大灰郎  阅读(2959)  评论(0编辑  收藏  举报

导航