Rumah >pangkalan data >tutorial mysql >Mengapa Saya Mendapat Ralat \'Nilai Lalai Tidak Sah untuk \'create_date\' Medan Cap Masa\' dalam MySQL?

Mengapa Saya Mendapat Ralat \'Nilai Lalai Tidak Sah untuk \'create_date\' Medan Cap Masa\' dalam MySQL?

Susan Sarandon
Susan Sarandonasal
2024-10-26 22:19:02939semak imbas

Why Am I Getting

Nilai Lalai Tidak Sah untuk Medan Cap Masa 'create_date'

Apabila mencipta jadual dengan lajur cap masa dan menentukan nilai lalai '0000- 00-00 00:00:00', ralat mungkin berlaku yang menunjukkan "Nilai lalai tidak sah untuk 'create_date'". Ralat ini disebabkan oleh Mod SQL MySQL - NO_ZERO_DATE.

Menurut manual rujukan MySQL, NO_ZERO_DATE menghalang pemasukan '0000-00-00' sebagai tarikh yang sah dalam mod ketat. Dalam kes ini, lajur 'create_date' ditakrifkan sebagai cap masa dan memberikan nilai lalai '0000-00-00 00:00:00'. Walau bagaimanapun, Mod SQL - NO_ZERO_DATE melarang nilai sedemikian.

Untuk menyelesaikan ralat ini, pertimbangkan pilihan berikut:

  • Lumpuhkan Mod SQL - NO_ZERO_DATE menggunakan perintah SET sql_mode="" sebelum membuat jadual.
  • Gunakan nilai lalai yang berbeza untuk lajur 'create_date' yang bukan '0000-00-00 00:00:00', seperti 'CURRENT_TIMESTAMP'.
  • Sisipkan sifar tarikh menggunakan pilihan ABAIKAN, yang membenarkan pemasukan nilai tersebut dengan amaran dan bukannya ralat.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Nilai Lalai Tidak Sah untuk \'create_date\' Medan Cap Masa\' dalam MySQL?. 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