首页 > 解决方案 > 旧版本的 MySQL 是否允许不同的日期格式?

问题描述

所以我有一些 C# 程序在连接到服务器的几台计算机上运行,​​以从旧版本的 MySQL 5.6.15 访问数据库。我正在尝试用现在在 5.7.24 版本上运行更新的 MySQL 的新机器替换服务器,但是在导入数据库后,我注意到我的所有程序都因修改日期的插入或更新查询而崩溃列。

经过测试,我认为这些程序正在使用日期格式为“2019-02-18 00:00:00Z”的查询,它曾经在我的旧 MySQL 安装中工作,但给了我一个“#1292 - 不正确的日期值:'2019 -02-18 00:00:00Z' for column 'checkin' at row 1" 当我尝试在新的 MySQL 版本中操作时出现错误。如果我删除日期字符串末尾的 Z 查询会像预期的那样正常,我可以更改我所有程序中的所有查询来修复问题,但我认为如果可以通过更改某些内容来解决这个问题会更好而是数据库。

我不知道新版本是否可能不再允许这种日期,或者它是否与 my.ini 中的某些配置问题有关。我检查了我的旧 my.ini,但我没有看到任何与日期格式相关的内容,新的在 sql-mode 行中有一些关于日期格式的内容,但评论该行并不能解决问题。

Here is my MySQL configuration file in case that it's necessary:

https://pastebin.com/ndqnZwka

在此先感谢您的时间。

标签: c#mysql

解决方案


刚刚解决了这个问题,我认为即使我评论了 sql-mode 行,新的 MySQL 服务器也在严格模式下运行,或者我之前测试它时犯了一个错误,无论哪种方式都可以改变它

sql-mode=""

在 my.ini 中足以摆脱错误。


推荐阅读