首页 > 文章列表 > 如何在MySQL日期列中存储像2月30日这样的日期?

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

441 2023-08-21

假设我们想要在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查询将允许我们在列中插入这种无效的日期。