MySQL错误 - 日期时间格式无效:1292日期时间值不正确:列为''

dav*_*per 7 php mysql macos datetime

我在Os X 10.9.2中使用mysql,当我尝试在本地运行我的php网站时出现此错误:

日期时间格式无效:1292日期时间值不正确:列名称为"@OcTheColumn"

当我尝试在datetime字段中插入空值时发生错误.该网站在生产和其他一些本地计算机上工作正常,所以问题在于数据库,我必须在我的本地数据库中解决.阅读有关我读过的问题,mysql可以在Strict模式下运行,所以我编辑/usr/local/mysql/my.cnf并注释掉这一行:

 #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
Run Code Online (Sandbox Code Playgroud)

我重新启动计算机仍然无法工作,但根据在线文档和其他问题,这是方法,但我想知道为了使我的应用程序正常工作,我必须做些什么改变.重复一遍,代码在生产中运行,windows与xampp等等...所以不能改变因为很长而且只是为了在本地工作我需要在MYSQL DATABASE中进行正确的更改.

提前致谢!

O. *_*nes 8

看起来MySQL的osx实例上的默认sql_mode设置为拒绝无效日期.

您可以尝试发出以下命令:

SET SESSION sql_mode='ALLOW_INVALID_DATES' 
Run Code Online (Sandbox Code Playgroud)

在初始化会话时.


use*_*953 0

您可以更改列以允许 null

ALTER TABLE table_name MODIFY datetime_column_name datetime;
Run Code Online (Sandbox Code Playgroud)

只要列未声明为 NOT NULL,默认情况下列可为空。