What is the use of ALLOW_INVALID_DATES SQL mode?

MySQLMySQLi Database

As the name suggests, enabling ALLOW_INVALID_DATES SQL mode will allow us to store invalid dates in the table. The example is given below to understand it −

Example

mysql> SET sql_mode = ALLOW_INVALID_DATES;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> Insert Into detail_bday(Name, Birth_Date) values('Sonia','1993-11-31');
Query OK, 1 row affected (0.09 sec)

mysql> Insert Into detail_bday(Name, Birth_Date) values('Ram','0000-00-00');
Query OK, 1 row affected (0.10 sec)

mysql> Select * from detail_bday;
+----+---------+------------+
| Sr | Name    | Birth_Date |
+----+---------+------------+
| 1  | Saurabh | 1990-05-12 |
| 2  | Raman   | 1993-06-11 |
| 3  | Gaurav  | 1984-01-17 |
| 4  | Rahul   | 1993-06-11 |
| 5  | Sonia   | 1993-11-31 |
| 6  | Ram     | 0000-00-00 |
+----+---------+------------+
6 rows in set (0.00 sec)

Above result set shows that MySQL allows us to store invalid date like ‘1993-11-31’ and ‘0000-00-00’ after enabling the ALOOW_INVALID_DATES SQL mode.

raja
Published on 19-Feb-2018 12:09:02
Advertisements