如何在 MySQL 日期列中存储诸如二月 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-Jun-2020

160 次浏览

开启您的职业生涯

完成课程即可获得认证

开始
广告