1292: Incorrect datetime value / truncated incorrect value
MySQLNe demek?
Bir değer, hedef sütun tipine (özellikle tarih/saat ya da sayı) dönüştürülürken geçersiz ya da hatalı biçimliydi. Strict modda MySQL bunu hata olarak reddeder.
Neden olur?
Geçersiz veya '0000-00-00' gibi tarih değerleri; yanlış tarih formatı; sayısal sütuna sayı olmayan metin; strict SQL modunun (STRICT_TRANS_TABLES) aktif olması; farklı karakter kümesi/karşılaştırma (collation) kaynaklı dönüşüm sorunları.
Nasıl çözülür?
Değeri sütun tipine uygun geçerli biçime getirin (tarih için 'YYYY-MM-DD'). Boş/hatalı tarihler yerine NULL kullanın. Gerekirse STR_TO_DATE ile açık format verin: STR_TO_DATE(str, '%Y-%m-%d'). Geçici tolerans gerekiyorsa sql_mode'u gözden geçirin ama tercihen veriyi düzeltin. Hatalı satırı daraltarak bulun.