mysql 报错[Err] [Dtf] 1292 - Incorrect datetime value: '0000-00-00 00:00:00' for column 'uploadtime' at row 9 With statement:......

最近用Navicat 往另一个数据库传数据的时候报错了,具体报错这个样

 

 

 

 

 

搜索之后发现原来是因为 msyql5.7 及以上不允许时间戳字段插入 ‘0000-00-00’ 数据,修复方法也比较简单,去掉sql_model 中的 NO_ZERO_DATE 配置即可

查看可以执行SQL

select @@global.sql_mode;

 

 

 

 

修改方法有好几个,

最简单的就是执行SQL

set @@global.sql_mode = 'STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

 

还有一个修改配置文件

vim /etc/my.cf
//添加这条数据
sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

保存退出后重启mysql

service mysql restart

 

posted @ 2020-11-06 14:28  西贝小小凤  阅读(2546)  评论(0编辑  收藏  举报