迁移数据时 timestamp类型字段报错: 1067 - Invalid default value for 'login_time'
MySQL數(shù)據(jù)庫升級 8.0.13,原版本5.5;執(zhí)行導出來的SQL文件時報錯
1067 - Invalid default value for 'login_time'
原因:MySQL 5.6以后timestamp設(shè)定默認值規(guī)則改變,不能為”0000 00-00 00:00:00”
而我的字段是:`login_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP COMMENT '登陸時間',
?
問題解決:
查看sql_mode:
show session variables like '%sql_mode%';
結(jié)果:STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
修改sql_mode,去掉NO_ZERO_IN_DATE,NO_ZERO_DATE:
set sql_mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION";重新執(zhí)行SQL文件即可;
?
永久修改sql_model,需要修改my.ini文件;
?
轉(zhuǎn)載于:https://www.cnblogs.com/minutes/p/11288190.html
總結(jié)
以上是生活随笔為你收集整理的迁移数据时 timestamp类型字段报错: 1067 - Invalid default value for 'login_time'的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面向服务的计算(SOC)课程相关资料
- 下一篇: Thinkphp5.0快速入门笔记(1)