当前位置: 首页 > 面试题库 >

MYSQL不正确的DATETIME格式

微生令
2023-03-14
问题内容

我有一个使用Doctrine 1的应用程序,并且update_datetime通过生成对象的字段new Zend_Date->getIso()。它工作了好几年,但现在我有了一个新的笔记本,Doctrine尝试将DATETIME字段作为字符串插入,"2013-07-12T03:00:00+07:00"而不是"2013-07-12 00:00:00"完全奇怪的普通MySQL datetime格式。

完全相同的代码可以在另一台计算机上正常运行。一切几乎都相同–两者均使用MySQL 5.6.12,PHP 5.3.15。知道我应该去哪里看吗?

Fatal error: Uncaught exception 'Doctrine_Connection_Mysql_Exception' with message 'SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value: '2013-07-12T03:00:00+07:00' for column 'nextrun' at row 1' in library/Doctrine/Connection.php:1083

更新

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

set sql_mode=NO_ENGINE_SUBSTITUTION; set global sql_mode=NO_ENGINE_SUBSTITUTION;

因此删除 STRICT_TRANS_TABLES

UPDATE2 如何永远摆脱STRICT?如何在MySQL中摆脱STRICT
SQL模式


问题答案:

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

这可能会导致此错误,其中datetime字符串值包含尚未转换为mysql datetime的格式。据报道此my.ini更改已修复:

  • PING导致500内部服务器错误-日期时间值不正确 (AuthPuppy错误#907203)


 类似资料:
  • 问题内容: 我正在使用以下SQL字符串将此数据插入到我的MySQL数据库中: 并且我收到此错误消息: 那么输入MySQL数据库的正确格式/值是什么? 问题答案: 问: MySQL语句中文字的正确格式/值是什么? 答: 在MySQL中,文字的标准格式为: 时间部分为24小时制(即,小时数字以00到23之间的值形式提供)。 MySQL提供了一个内置函数,可以将各种格式的字符串转换为或数据类型。 因此,

  • Intellij告诉我的参数类型不正确。我不熟悉这个错误和。 这个错误还表明: 检查参数@PathParam、@QueryParam等的类型。带批注的参数、字段或属性的类型必须是 > 成为主要类型 有一个接受单个字符串参数的构造函数 具有一个名为 valueOf 或 formString 的静态方法,该方法接受单个 String 参数(例如,请参阅 Integer.valueOf(String))

  • 我正在尝试迁移我的Rails MySQL数据库,但遇到以下错误: ActiveRecord::StatementInvalid:mysql2::错误:无法创建表。(错误号:150“外键约束格式不正确”):创建表(int AUTO_INCREMENT主键,varchar(255),int,int,datetime不为空, 以下是我的迁移: 如果有人能在这里给我一个主意,我将非常感谢。我已经搜索了一段

  • 我不明白为什么我一直收到这个错误消息: 在此行中找到多个注释: < li >文档中根元素后面的标记必须格式良好。 < li >错误:解析XML时出错:文档元素后的垃圾信息 该错误在下面的开头找到: XML:

  • 我刚刚更新了使用XAMPP的本地开发环境,新版本的XAMPP使用了MariaDB,而我之前使用的旧版本使用的是MySQL,我很满意。 现在,我认为MariaDB应该与MySQL完全兼容,因为它本质上只是一个“临时”替代品,但在升级之前,我很难导入直接从MySQL导出的数据库。 我得到以下错误: 这里是: 是不是因为文件中的被创建得更靠下,它会因为认为该表不存在而出错?但是,在这么说的同时,我以前从

  • 我是C#的新手,我有一些Java方面的基础知识,但我不能让这段代码正常运行。 它只是一个基本的计算器,但当我运行程序时,VS2008给了我这个错误: 我做了几乎相同的程序,但在Java使用的是JSwing,它运行得非常好。 下面是C#的形式: 会有什么问题?有没有办法解决? PS:我也试过 但没有奏效。