Rumah  >  Artikel  >  pangkalan data  >  Mengapa Saya Tidak Boleh Tetapkan \'0000-00-00 00:00:00\' sebagai Nilai Lalai untuk Medan Cap Masa?

Mengapa Saya Tidak Boleh Tetapkan \'0000-00-00 00:00:00\' sebagai Nilai Lalai untuk Medan Cap Masa?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 02:27:30267semak imbas

Why Can't I Set '0000-00-00 00:00:00' as the Default Value for a Timestamp Field?

Memahami Mesej Ralat: Nilai Lalai Tidak Sah untuk Medan Cap Masa 'create_date'

Pernyataan SQL yang disediakan cuba mencipta jadual dengan medan cap masa (create_date) yang mempunyai nilai lalai '0000-00-00 00:00:00'. Walau bagaimanapun, mod SQL 'NO_ZERO_DATE' melarang penggunaan nilai ini sebagai tarikh yang sah.

Mengapa Mod Melarang '0000-00-00 00:00:00'?

Mod ini menguatkuasakan peraturan pengesahan tarikh yang lebih ketat. Ia menghalang pemasukan tarikh dengan nilai sifar, seperti '0000-00-00', yang boleh membawa kepada ketidakkonsistenan dan ralat dalam analisis data.

Bagaimana untuk Menyelesaikan Ralat?

Kepada selesaikan ralat, anda mempunyai dua pilihan:

  1. Ubah suai Nilai Lalai: Tetapkan nilai cap masa yang sah (selain daripada '0000-00-00 00:00:00') sebagai lalai untuk medan create_date.
  2. Lumpuhkan Mod NO_ZERO_DATE:

    <code class="sql">SET SQL_MODE=(SELECT REPLACE(@@SQL_MODE, 'NO_ZERO_DATE', ''));</code>

    Ini akan melumpuhkan mod buat sementara waktu, membolehkan anda mencipta jadual dengan nilai lalai '0000-00-00 00:00:00'. Walau bagaimanapun, adalah penting untuk mendayakan semula mod itu selepas itu untuk memastikan integriti data.

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Tetapkan \'0000-00-00 00:00:00\' sebagai Nilai Lalai untuk Medan Cap Masa?. 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