タイムスタンプ フィールドのデフォルト値が無効です
次のテーブルを作成しようとすると、「'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 中国語 Web サイトの他の関連記事を参照してください。