解决Incorrect integer value: ” for column ‘hits’ at row 1

虽然这个问题是我在开发项目的时候碰到的,是在我看他人分享文章中看到的,但是我觉得十分有必要记录一下。

假如在数据插入数据库时写查询语句“insert into log  values(”,’admin’,’31’,’002t’)”,从语法上说是没有错误的。但是在执行的时候有可能正确,有可能报错。这是为什么呢?这取决于你的mysql版本以及你的配置文件的配置。

mysql5以上的版本如果是空值要写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后即可。那么如果是虚拟主机或者是空间怎么办了。如果你能让空间商帮你改那是最好。

但是我的最终建议,还是写规范点,空值就写null,这样就不会出问题啦。

 

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/?p=1452