gpt4 book ai didi

MySQL 5.7 : Invalid default value for 'event_end_date'

转载 作者:可可西里 更新时间:2023-11-01 08:08:48 24 4
gpt4 key购买 nike

我们正在将我们的应用程序从 MySQL 5.5 迁移到 5.7。由于在严格模式下 MySQL 5.7 中的日期字段不再允许默认值 0000-00-00,我想将默认值更改为 NULL

相关字段定义如下:

+------------------+----------------------+------+-----+------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+----------------------+------+-----+------------+----------------+
| event_start_date | date | YES | | 0000-00-00 | |
| event_end_date | date | YES | | 0000-00-00 | |
+------------------+----------------------+------+-----+------------+----------------+

当我尝试执行以下 ALTER 查询时:

ALTER TABLE events CHANGE event_start_date event_start_date date DEFAULT NULL;    
ALTER TABLE events CHANGE event_end_date event_end_date date DEFAULT NULL;

我收到以下错误:

Invalid default value for 'event_end_date'

我知道可以禁用严格模式,但这不是我正在寻找的解决方案。奇怪的是,同一个查询对另一个表有效。

有人知道出了什么问题吗?

最佳答案

错误已经发生在您的查询的第一行。您正在尝试更改 event_start_date 列,但错误消息是针对 event_end_date 列的。您需要使用单个查询更改两列以避免此错误:

ALTER TABLE events CHANGE event_start_date event_start_date date DEFAULT NULL, CHANGE event_end_date event_end_date date DEFAULT NULL;

它可能适用于您的其他表,因为您只有一个类型为 date 的列。

关于MySQL 5.7 : Invalid default value for 'event_end_date' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54041481/

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