mysql data 不能插入0000-00-00,出错的解决办法

mysql中,在给data类型字段输入空字符串时,一般输入null或‘0000-00-00’,但是有的服务器系统中,给data类型字段插入‘0000-00-00’会报错。这是因为sql_mode的设置原因。

解决办法:

修改MySQL配置文件
Linux下my.cnf或Windows下My.ini,ubuntu中是在:/etc/mysql/mysql.conf.d/mysqld.cnf
注意在[mysqld]段下添加,直接加到最后一行无效。没有sql_mode的也可以直接加上。
添加以下代码:

 

sql_mode=STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,
NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_AUTO_CREATE_USER,
NO_ENGINE_SUBSTITUTION

 

注意去掉NO_ZERO_IN_DATE,NO_ZERO_DATE即可。