時間戳字段的預設值無效
嘗試使用以下命令建立表時出現錯誤「'create_date'的預設值無效」時間戳字段,預設值為“0000-00-00 00:00:00”。此錯誤是由 SQL 模式 - NO_ZERO_DATE 觸發的。
NO_ZERO_DATE 模式會阻止插入「0000-00-00」作為有效日期。在嚴格模式下,即使使用 IGNORE 選項,該值也是被禁止的。在非嚴格模式下,可能會接受日期,但會產生警告。
要解決此錯誤,請停用 NO_ZERO_DATE 模式或為時間戳欄位使用不同的預設值。
<code class="sql">SET SQL_MODE = 'ALLOW_INVALID_DATES';</code>
或者,為時間戳欄位指定有效的預設值:
<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>
以上是為什麼在建立帶有時間戳欄位的表時出現「create_date 預設值無效」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!