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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM