Rumah >pangkalan data >tutorial mysql >Mengapa MySQL Membuang 'Nilai Tarikh Salah: '0000-00-00'' Selepas Naik Taraf dan Bagaimana Saya Boleh Membetulkannya?

Mengapa MySQL Membuang 'Nilai Tarikh Salah: '0000-00-00'' Selepas Naik Taraf dan Bagaimana Saya Boleh Membetulkannya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-27 21:25:10839semak imbas

Why Does MySQL Throw

1292 - Nilai Tarikh Salah: '0000-00-00' [Pendua]

Penjelasan:

Ralat "Nilai tarikh salah: '0000-00-00'" berlaku apabila cuba memasukkan nilai tarikh '0000-00-00' ke dalam lajur tarikh. Ralat ini telah timbul selepas peningkatan MySQL baru-baru ini.

Punca:

Isu ini berkaitan dengan mod SQL, khususnya mod ketat. Mod ketat telah menjadi lebih ketat dengan kemunculan MySQL 5.7, tidak membenarkan pemasukan nilai tarikh tidak sah seperti '0000-00-00'.

Penyelesaian:

Untuk menyelesaikan ralat, mod ketat boleh dilumpuhkan dengan melaksanakan perkara berikut pertanyaan:

SET GLOBAL sql_mode = '';

Tindakan ini menyahaktifkan mod ketat dan membenarkan pemasukan nilai tarikh '0000-00-00'.

Nota Tambahan:

  • Pertanyaan yang disediakan dalam soalan cuba memasukkan pelbagai data ke dalam jadual dengan lajur tarikh dinamakan 'fm_sctrdate'. Lajur ini dikonfigurasikan dengan nilai lalai '0000-00-00'.
  • Adalah penting untuk menggunakan nilai tarikh yang sah atau memenuhinya dengan kes khas dalam kod aplikasi anda untuk mengelakkan ralat pada masa hadapan.

Atas ialah kandungan terperinci Mengapa MySQL Membuang 'Nilai Tarikh Salah: '0000-00-00'' Selepas Naik Taraf dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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