如何才能在 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 瀏覽

開啟你的職業生涯

完成課程以獲得認證

開始
廣告