Tùy chọn đầu tiên:
Cảnh báo này có thể là do SQL_MODE
.
Theo tài liệu mysql "Nếu chế độ SQL NO_ZERO_DATE hoặc NO_ZERO_IN_DATE được bật, không có ngày hoặc một phần của ngày không được phép.". Vì vậy, đây có thể là nguyên nhân INSERT
của bạn với '0000-00-00 00:00:00' không thành công.
Bạn có thể kiểm tra chế độ sql của mình bằng cách thực hiện điều này:
SELECT @@sql_mode;
và nếu có bất kỳ NO_ZERO_DATE
nào hoặc NO_ZERO_IN_DATE
được thiết lập, sau đó bạn chỉ có thể:
SET sql_mode = '';
Tùy chọn thứ hai
Tùy chọn khác không thành công do STRICT_TRANS_TABLES
mode. Như tài liệu mysql nói:
Điều này cũng hợp lệ cho datetime.
Vì vậy, bạn phải tắt CHẾ ĐỘ NGHIÊM TÚC HOẶC nếu vô hiệu hóa nó không phải là một tùy chọn - hãy sửa đổi truy vấn để nó không trả về kết quả ngày / giờ không hợp lệ