Anda dapat bermain dengan sql_mode
untuk mengubah perilaku bagaimana MySQL menangani tanggal yang tidak valid.
Menurut manual MySQL , ini terjadi saat Anda memasukkan nilai tanggal yang salah:
Jadi nilai nol dimasukkan dan Anda benar-benar mendapat peringatan tentang itu. Anda dapat melihatnya dengan show warnings
perintah.
insert into TableName (`date`) values ('2015-02-29');
-- 1 row(s) affected
show warnings
-- Warning 1264 Out of range value for column 'date' at row 1
Anda dapat mengubah perilaku ini untuk menyimpan nilai yang tidak valid, jika perlu (Manual MySQL ):
Misalnya, berikut ini akan berfungsi:
set @@sql_mode='allow_invalid_dates';
insert into TableName (`date`) values ('2015-02-29');
-- 1 row(s) affected
Atau, Anda juga dapat mengubah perilaku memuat data atau masukkan untuk melaporkan kesalahan:
Contoh:
set @@sql_mode='traditional';
insert into TableName (`date`) values ('2015-02-29');
Error Code: 1292. Incorrect date value: '2015-02-29' for column 'date' at row 1