gpt4 book ai didi

php - MYSQL 不正确的 DATETIME 格式

转载 作者:IT老高 更新时间:2023-10-28 23:49:08 25 4
gpt4 key购买 nike

我有一个使用 Doctrine 1 的应用程序,我通过 new Zend_Date->getIso() 为对象生成 update_datetime 字段。多年来它工作得很好,但现在我有了一个新笔记本,Doctrine 试图插入一个 DATETIME 字段作为字符串 "2013-07-12T03:00:00+07:00" 而不是正常的 MySQL 日期时间格式 "2013-07-12 00:00:00" 这很奇怪。

完全相同的代码在另一台计算机上运行得很好。一切都几乎相同——MySQL 5.6.12,两者都是 PHP 5.3.15。知道我应该看哪里吗?

fatal error :消息为“SQLSTATE[22007]”的未捕获异常“Doctrine_Connection_Mysql_Exception”:无效的日期时间格式:1292 不正确的日期时间值:“nextrun”列的“2013-07-12T03:00:00+07:00” '在 library/Doctrine/Connection.php:1083 中的第 1 行

更新

好的,在 StackOverflow 社区的帮助下,我终于解决了这个问题。问题出在 sql_mode 变量中的 STRICT_TRANS_TABLES。但是在 /etc/my.cnf 中更改它似乎还不够,所以我不得不运行 mysql -uroot 并键入以下内容:

设置 sql_mode=NO_ENGINE_SUBSTITUTION;设置全局 sql_mode=NO_ENGINE_SUBSTITUTION;

因此删除 STRICT_TRANS_TABLES

更新2如何永远摆脱 STRICT? How to get rid of STRICT SQL mode in MySQL

最佳答案

如果存在,您可以尝试从 my.ini 中的 sql-mode 中删除 STRICT_TRANS_TABLES

这可能会导致此错误,日期时间字符串值包含您尚未转换为 mysql 日期时间的格式。此 my.ini 更改已报告为以下方面的修复:

关于php - MYSQL 不正确的 DATETIME 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17598629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com