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

假设我们要将日期(例如2月30日)存储在MySQL表中,那么我们必须首先将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';

mysql> Insert into date_testing(date) values('2017-02-30');

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

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

猜你喜欢