Nilai Lalai Tidak Sah untuk Medan Cap Masa
Ralat "Nilai lalai tidak sah untuk 'create_date'" berlaku apabila cuba mencipta jadual dengan medan cap waktu yang mempunyai nilai lalai '0000-00-00 00:00:00'. Ralat ini dicetuskan oleh Mod SQL - NO_ZERO_DATE.
Mod NO_ZERO_DATE menghalang pemasukan '0000-00-00' sebagai tarikh yang sah. Apabila dalam mod ketat, nilai ini dilarang, walaupun dengan pilihan ABAIKAN. Dalam mod tidak ketat, tarikh boleh diterima tetapi amaran dijana.
Untuk menyelesaikan ralat ini, sama ada nyahdayakan mod NO_ZERO_DATE atau gunakan nilai lalai yang berbeza untuk medan cap masa.
<code class="sql">SET SQL_MODE = 'ALLOW_INVALID_DATES';</code>
Sebagai alternatif, tentukan nilai lalai yang sah untuk medan cap masa:
<code class="sql">CREATE TABLE IF NOT EXISTS `erp`.`je_menus` ( `id` INT(11) NOT NULL AUTO_INCREMENT , `name` VARCHAR(100) NOT NULL , `description` VARCHAR(255) NOT NULL , `live_start_date` DATETIME NULL DEFAULT NULL , `live_end_date` DATETIME NULL DEFAULT NULL , `notes` VARCHAR(255) NULL , `create_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , `created_by` INT(11) NOT NULL , `update_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP , `updated_by` INT(11) NOT NULL , `status` VARCHAR(45) NOT NULL , PRIMARY KEY (`id`) ) ENGINE = InnoDB;</code>
Atas ialah kandungan terperinci Mengapakah saya mendapat ralat \'Nilai lalai tidak sah untuk \'create_date\'\' semasa membuat jadual dengan medan cap masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!