将网站从其他服务器迁到本地服务器,在本地用 navicat进行数据库导入的时候,出现报错,1067 – Invalid default value for ‘scheduled_date_gmt’,使用了phpadmin、sqlfront都没有解决,最后通过以下方法解决了,方法如下:
查询原数据库的sql_mode,使用以下命令:
SELECT @@GLOBAL.sql_mode;
得到下面的值:
NO_ZERO_IN_DATE,NO_ZERO_DATE
查询本地的数据库sql_mode,得到以下值:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
使用以下命令对本地进行约束设置:
set GLOBAL sql_mode ='NO_ZERO_IN_DATE,NO_ZERO_DATE'
发现无效。没办法,网上找了直接设置mysql.ini,在[mysqld]下面末尾添加以下代码,不要加在[mysql]和[client]下面添加。
sql_mode=NO_ZERO_IN_DATE,NO_ZERO_DATE
使其约束与原来的保持一致。
再重新导入 sql 就不会报错了。
正文完