今天有個需求是把mysql 5.5升級到5.7,同步數據的時候報下面錯誤
1067 - Invalid default value for 'publish_date'
1067 - Invalid default value for 'DataChange_CreatedTime'
時間的默認值不兼容,改下sql_mode即可
mysql> set global
sql_mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
Query OK, 0 rows affected
mysql> show variables
like '%sql_mode%';
+---------------+-------------------------------------------------------------------------------------------+
| Variable_name | Value |
+---------------+-------------------------------------------------------------------------------------------+
| sql_mode | STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+---------------+-------------------------------------------------------------------------------------------+
1 row in set
上面後可以正常導數了,還可以把它添加到配置文件my.cnf的[mysqld]下,然後重啓mysql
sql_mode =STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION