MySQL 5 以上版本插上空值时要注意的问题
在MySQL低版本执行 insert into log values(’’,‘admin’,‘12345’,‘0022’) 这样的语句时,一般我们是认为应该没错误的,但在MySQL 5以上的版本这样写就会报错: Incorrect integer value: ‘’ for column 'sendmailport’at row 1,后来查了下MYSQL的资料,发现5以上的版本如果是空值应该要写NULL,如果空值没有写null的话,可以通过修改my.cnf文件来解决这个问题。
在my.cnf 中默认为 sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,将其修改为 sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,也就是说要删除STRICT_TRANS_TABLES这个字段,然后重启mysql后即可,在以后写代码的时候,为了避免小错误,程序一定要严谨,都规范一点,空值就写 null。
|