Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membetulkan Ralat \'Nilai datetime yang salah: \'0000-00-00 00:00:00\'\' MySQL?

Bagaimana untuk Membetulkan Ralat \'Nilai datetime yang salah: \'0000-00-00 00:00:00\'\' MySQL?

Barbara Streisand
Lepaskan: 2024-11-27 08:59:10
asal
193 orang telah melayarinya

How to Fix MySQL's

MySQL 'Nilai datetime salah' Ralat: Menangani '0000-00-00 00:00:00' Tarikh

Apabila menaik taraf MySQL pangkalan data daripada versi yang lebih lama, pengguna mungkin menghadapi ralat "Nilai masa tarikh yang salah: '0000-00-00 00:00:00' untuk lajur 'dicipta' pada baris 1" semasa cuba mengubah suai lajur jadual. Ralat ini timbul disebabkan oleh nilai datetime lapuk yang disimpan dalam pangkalan data.

Latar Belakang

MySQL 5.1 menggunakan nilai "0000-00-00 00:00:00" untuk mewakili cap masa yang tidak diketahui atau tidak sah, seperti medan kosong. Walau bagaimanapun, versi MySQL yang lebih baru, seperti 5.7, menguatkuasakan pengesahan yang lebih ketat untuk nilai datetime, menyebabkan ralat ini berlaku apabila mengimport jadual atau mengubah suai lajur tarikh.

Langkah Penyelesaian Masalah

Untuk menyelesaikan ralat ini, ikut langkah berikut:

  1. Semak kejadian '0000-00-00 00:00:00' dalam lajur yang terjejas:
SELECT * FROM users WHERE created = '0000-00-00 00:00:00';
Salin selepas log masuk
  1. Jika nilai '0000-00-00 00:00:00' wujud, kemas kininya dengan nilai datetime yang boleh diterima, seperti '1970-01-01 00:00:00':
UPDATE users SET created = '1970-01-01 00:00:00' WHERE created = '0000-00-00 00:00:00';
Salin selepas log masuk
  1. Sebagai alternatif, anda boleh menggunakan pertanyaan berikut untuk mengemas kini semua nilai '0000-00-00 00:00:00' kepada NULL:
UPDATE users SET created = NULL WHERE CAST(created AS CHAR(20)) = '0000-00-00 00:00:00';
Salin selepas log masuk

Penting Nota

Sebelum mengemas kini sebarang nilai, pastikan nilai datetime yang dipilih adalah serasi dengan keperluan aplikasi. Medan kosong mungkin mempunyai makna khusus dalam logik aplikasi, jadi menggantikannya dengan NULL atau tarikh lalai boleh menyebabkan masalah.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'Nilai datetime yang salah: \'0000-00-00 00:00:00\'\' MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan