因此,我有一些C#程序在几台计算机上运行,这些计算机连接到服务器以从旧版本的MySQL(版本5.6.15)访问数据库。我正在尝试用新计算机替换服务器,该计算机现在在版本5.7.24上运行更新的MySQL,但是在导入数据库后,我注意到我的所有程序都因修改日期的插入或更新查询而崩溃列。
测试后,我发现程序正在使用日期格式为“ 2019-02-18 00:00:00Z”的查询,该查询曾经在我的旧MySQL安装中有效,但给了我“#1292-错误的日期值:当我尝试在新的MySQL版本中操作时,第1行“ checkin”列的“ 2019-02-18 00:00:00Z”错误。如果我在日期字符串的末尾删除Z,查询将按预期进行得很好,则可以在所有程序中更改所有查询以修复问题,但是我认为最好通过更改以下内容来解决问题:数据库。
我不知道新版本是否可能不再允许这种日期,或者是否与my.ini中的某些配置问题有关。我检查了旧的my.ini,但在那里没有看到任何与日期格式有关的内容,而新的则在sql-mode行中包含有关日期格式的内容,但注释该行并不能解决问题。
typealias
提前感谢您的时间。
答案 0 :(得分:0)
刚刚解决了这个问题,即使我注释了sql-mode行,我也认为新的MySQL服务器正在严格模式下运行,或者我以前测试时可能犯了一个错误,要么将其更改为
sql-mode=""
在my.ini中的足以消除该错误。