sql-mode引发的问题
Posted by quentin 在 Monday, 2 August 2010
今天在执行一段mysq插入时,发现一直报错。
定位发现是其中有个字段为datetime,设置为空值。
但是,奇怪的是我在另一台服务器上执行时完全正确,甚至都没有Warning。
我一开始怀疑是mysql版本问题,但是我的是5.1.30,好的那台是5.1.33。版本基本一样。
我开始觉得可能是mysql的配置问题,最终,我在数据库配置里找到sql-mode,上网查询了下,果然是这个设置的问题。
5.0之后的版本,mysql默认开启了sql-mode,我的配置为:
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
我把它改为:sql-mode=""
重启mysql,执行刚才的sql语句,发现一切正常了。
关于sql-mode可以访问官方网站:
http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#server-sql-mode
博客分类:
添加新评论