Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จัดเก็บวันที่ผิดปกติ เช่น 30 กุมภาพันธ์ ในคอลัมน์ DATE ของ MySQL ได้อย่างไร?

ต้องเปิดโหมด 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 row 1

เปิดโหมด:

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 |
+------------+

คำเตือน: การเก็บวันที่ไม่ถูกต้องอาจทำให้การคำนวณวันที่ผิดพลาด ควรใช้ hanya เมื่อจำเป็นจริงๆ