解决MySQL导入SQL时报错1067–Invalid default value for ‘ ’问题
作者:21:57648
文章介绍了MySQL中报错[ERR]1067-Invaliddefaultvaluefor‘add_date’的原因,以及如何通过修改my.ini文件禁用严格模式来解决这个问题
报错[ERR] 1067 - Invalid default value for ‘add_date’
错误 1067 - Invalid default value for 'add_date' 的原因是因为 campus_news 表中的 add_date 列的默认值设置为 '0000-00-00',但这种默认值在 MySQL 中是无效的。
在 MySQL 5.7 及以后的版本中,严格模式不允许这种无效的日期值。
直接上解决方法
1、找到 my.ini 文件:
- 该文件通常位于 MySQL 安装目录中。例如,在 Windows 上,它可能在
C:\ProgramData\MySQL\MySQL Server X.Y\或C:\Program Files\MySQL\MySQL Server X.Y\目录下。 - 在 Linux 上,它通常位于
/etc/mysql/my.cnf或/etc/my.cnf。
2、禁用严格模式:
[mysqld] sql_mode = ""
这将禁用所有的 SQL 模式,包括严格模式。如果已经有 sql_mode 这一行,确保它被设置为空字符串 ""。
- 在my.ini文件中找到
[mysqld]部分,然后添加或修改sql_mode设置。
3、保存并关闭 my.ini 文件。
4、重启 MySQL 服务:
- 在 Windows 上,可以通过服务管理器(Services)重启 MySQL 服务,或者在命令提示符中使用以下命令:
net stop mysql net start mysql
- 在 Linux 上,可以使用以下命令重启 MySQL 服务:
sudo service mysql restart
- 或者:
sudo systemctl restart mysql
完成这些步骤后,严格模式将被禁用。
请注意,禁用严格模式可能会影响数据库的其他行为,因此应谨慎使用。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
