报错[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 及以后的版本中,严格模式不允许这种无效的日期值。
直接上解决方法:
-
找到
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
。
- 该文件通常位于 MySQL 安装目录中。例如,在 Windows 上,它可能在
-
禁用严格模式:
- 在my.ini文件中找到
[mysqld]
部分,然后添加或修改sql_mode
设置。
[mysqld] sql_mode = ""
这将禁用所有的 SQL 模式,包括严格模式。如果已经有
sql_mode
这一行,确保它被设置为空字符串""
。 - 在my.ini文件中找到
-
保存并关闭
my.ini
文件。 -
重启 MySQL 服务:
-
在 Windows 上,可以通过服务管理器(Services)重启 MySQL 服务,或者在命令提示符中使用以下命令:
net stop mysql net start mysql
-
在 Linux 上,可以使用以下命令重启 MySQL 服务:
sudo service mysql restart
或者:
sudo systemctl restart mysql
-
完成这些步骤后,严格模式将被禁用。请注意,禁用严格模式可能会影响数据库的其他行为,因此应谨慎使用。