我有一个使用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_TABLES
在sql_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更改已修复:
问题内容: 我正在使用以下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:我也试过 但没有奏效。