gpt4 book ai didi

mysql - 由于日期时间列的 #1067 错误,phpmyadmin 不允许更改结构

转载 作者:行者123 更新时间:2023-11-29 18:25:56 24 4
gpt4 key购买 nike

我的表中有两个日期时间列,默认值为“0000-00-00 00:00:00”enter image description here

当我尝试更改表的某些结构(与这些列中的任何一列无关)时,显示 #1067 错误,指出“‘product_date_added’的默认值无效。

问题#1为什么日期时间列的默认值不能是“0000-00-00 00:00:00”?

然后我尝试更改 product_date_added 的默认值,这是我得到的结果: enter image description here

如图所示,#1067 显示在另一个日期时间列中。而这反之亦然,我哭笑不得。

我在其他表中尝试过此操作,它们都存在此问题:当尝试更改表结构时,默认值为“0000-00-00 00:00:00”的日期时间列显示 #1067 错误。

我还尝试从命令 shell 将默认值设置为真实的日期时间值,这是我得到的: enter image description here如您所见,另一列仍然显示 1067 错误。为什么这两列会互相影响?

我也尝试过这个:和这个: enter image description here

问题#2:如何解决这个问题?

最佳答案

1) 数据库不接受“0000-00-00 00:00:00”的日期时间值,因为默认 sql_mode 包括 NO_ZERO_DATENO_ZERO_IN_DATE

2)要解决该问题,需要更改mysql的模式,可以在my.cnf文件中添加

[mysqld]
sql_mode = "modes"

其中modes是一个字符串。要获取 mode 字符串,需要通过运行“select @@sql_mode”获取原始字符串,并从中截断两个模式字符串。

关于mysql - 由于日期时间列的 #1067 错误,phpmyadmin 不允许更改结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46200144/

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