導入數據庫備份報錯1067 – Invalid default value for ‘create_time’


通過navicat工具導入psc數據庫備份文件,報錯如下,mysql版本5.7

執行如下語句不通過

DROP TABLE IF EXISTS `guard_user`;
CREATE TABLE `guard_user` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '操作員編號',
  `login_account` varchar(16) NOT NULL COMMENT '登錄賬號',
  `create_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '創建時間',

原因在於時間的默認值不兼容,查看sql_mode

NO_ZERO_IN_DATE,NO_ZERO_DATE這兩個參數限制時間不能為0。

臨時修改

set session sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

永久修改

編輯mysql的配配置文件 my.cnf

在[mysqld]下面添加如下列:

sql_mode=ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

轉儲sql文件修改

提取出sql文件,通過在sql文件中將“0000-00-00”修改為有效時間如“1970-12-31”,然后運行sql文件實現導入。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM