Ralat MySQL 1292: Nilai Masa Tarikh Salah
Dalam MySQL, cuba mengubah suai jenis data atau set aksara jadual boleh mengakibatkan "Salah nilai datetime" ralat. Senario ini timbul apabila data sedia ada bercanggah dengan jenis data atau pengekodan baharu.
Sebagai contoh, apabila mengimport data daripada pangkalan data dengan set aksara latin1 ke MySQL 5.7, yang menggunakan UTF-8, anda mungkin menghadapi ralat ini apabila cuba mengubah suai lajur tertentu.
Khususnya, jika lajur datetime mengandungi nilai tidak sah '0000-00-00 00:00:00', anda mungkin menghadapi masalah ini. Untuk menyelesaikannya, cuba langkah berikut:
SELECT * FROM users WHERE created = '0000-00-00 00:00:00';
UPDATE users SET created = NULL WHERE CAST(created AS CHAR(20)) = '0000-00-00 00:00:00';
ALTER TABLE users MODIFY first_name varchar(45) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
Adalah penting untuk ambil perhatian bahawa Fungsi CAST membolehkan anda menukar nilai datetime kepada rentetan, yang kemudiannya boleh dibandingkan dengan nilai yang tidak sah dan dikemas kini kepada NULL tanpa menaikkan ralat.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat MySQL 1292: Nilai Datetime Salah Semasa Pengubahan Jadual?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!