mysql报错:Invalid default value for ‘updatetime’ mysql
一般是字段设置不合理,比如 updatetime datetime DEFAULT '0000-00-00 00:00:00'
正确默认值应该是 1970-01-01 10:00:00
但是同样的sql在不同的sql_mode下效果又不一样,而且不同的mysql服务版本设置的默认sql_mode是不一样的,即使是小版本的区别。
很多时候不方便修改原先的表结构,于是只能修改后来的mysql配置。
解决方式,设置sql_mode
mysql-5.7.26
查看:select @@sql_mode
修改全局
set @@global.sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
修改当前
set @@sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
或者修改my.ini文件,设置 sql_mode='STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'