gpt4 book ai didi

mysql - 如何在不改变SQL模式的情况下处理0000-00-00 00 :00:00 datetimes in MySQL 5. 7

转载 作者:行者123 更新时间:2023-11-29 06:39:34 25 4
gpt4 key购买 nike

我最近切换到 MySQL 5.7,这会导致日期时间方面的问题。我的数据库中有日期时间,默认值为 0000-00-00 00:00:00 。 MySQL 5.7 似乎不喜欢这种类型的默认值。我明白我可以设置 sql_mode = ''但假设我不想这样做(坚持使用默认的严格模式),最好的方法是什么?

我可以首先更新所有值:

UPDATE mycolumn SET field_datetime = NULL WHERE field_datetime='0000-00-00 00:00:00'

然后编辑日期时间字段以使用 NULL 作为默认值。

这能证明 future 吗?我认为 MySQL 5.7 有其不允许的理由 0000-00-00 00:00:00 .

最佳答案

NULL 作为任何空字段的值是面向 future 的并且相当理智。您的应用程序代码需要进行测试,以确保它能够正确处理 NULL

几年前,接受 0000-00-00 00:00:00 作为有效日期时间对于 MySQL 开发人员来说是一个糟糕的选择,它只是覆盖了问题而不是解决问题。即使应用程序开发人员需要更新其结构和代码以使其更加正确(并可能修复隐藏的错误),MySQL 似乎正在慢慢采取对 SQL 更加严格的方法。

关于mysql - 如何在不改变SQL模式的情况下处理0000-00-00 00 :00:00 datetimes in MySQL 5. 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52375728/

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