Computer >> Máy Tính >  >> Lập trình >> MySQL

Điều gì xảy ra khi MySQL gặp một ngày ngoài phạm vi?

Phản hồi của MySQL khi gặp ngày nằm ngoài phạm vi hoặc không hợp lệ sẽ phụ thuộc vào SQL MODE. Nếu chúng ta đã bật chế độ ALLOW_INVALID_DATES thì MySQL sẽ chuyển đổi các giá trị nằm ngoài phạm vi thành tất cả các số không (tức là '0000:00:00 00:00:00') và cũng lưu trữ các giá trị tương tự trong bảng mà không tạo ra bất kỳ lỗi hoặc cảnh báo nào.

Ví dụ:chúng ta có thể thay đổi SQL MODE như sau và sau đó chèn vùng ngoài phạm vi -

mysql> set sql_mode = 'ALLOW_INVALID_DATES';
Query OK, 0 rows affected (0.00 sec)

mysql> Insert into order1234(productname, quantity, orderdate) values('A', 500, '999-05-100');
Query OK, 1 row affected, 1 warning (0.13 sec)

mysql> Select * from order1234;
+-------------+----------+---------------+
| ProductName | Quantity | OrderDate     |
+-------------+----------+---------------+
| A           | 500      | 0000-00-00    |
+-------------+----------+---------------+
1 row in set (0.00 sec)

Chúng ta có thể thấy MySQL chuyển đổi giá trị nằm ngoài phạm vi thành tất cả các số không.