如何在 MySQL 日期列中存储诸如 2 月 30 日之类的日期?
mysqlmysqli database
假设我们想在 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 查询允许我们在列中插入此类无效日期。