Rumah > pangkalan data > tutorial mysql > 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
Lepaskan: 2024-10-27 02:27:30
asal
401 orang telah melayarinya

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>
    Salin selepas log masuk

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