如何才能在 MySQL 日期列中储存诸如 2 月 30 日这样的日期?


假定我们想要在 MySQL 表中储存 2 月 30 日这样的日期,那么我们首先必须把 ALLOW_INVALID_DATES 模式设为可用。

比如,我们尝试在没有启用 ALLOW_INVALID_DATES 模式的情况下,在表中添加这种类型的日期,那么 MySQL 会返回以下错误 −

mysql> Insert into date_testing(date) values('2017-02-30');
ERROR 1292 (22007): Incorrect date value: '2017-02-30' for column
'Date' at row1

现在,我们需要启用 ALLOW_INVALID_DATES 模式,如下所示 −

mysql> SET sql_mode = 'ALLOW_INVALID_DATES';
Query OK, 0 rows affected (0.00 sec)

mysql> Insert into date_testing(date) values('2017-02-30');
Query OK, 1 row affected (0.14 sec)

mysql> select * from date_testing;
+------------+
| Date |
+------------+
| 2017-02-30 |
+------------+
1 row in set (0.00 sec)

上面的 MySQL 查询允许我们在列中插入此类无效日期。

更新于: 19-6 月-2020

160 浏览

开启你的职业生涯

完成课程以获得认证

开始
广告
© . All rights reserved.