1. ホーム
  2. mysql

[解決済み] dateAdded' のデフォルト値が無効です。

2023-01-31 17:28:12

質問

SQLで修正不能な問題が発生しました。

ALTER TABLE `news` 
 ADD `dateAdded` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AUTO_INCREMENT ,
 ADD PRIMARY KEY ( `dateAdded` ) を追加します。

エラーです。

(#1067)Invalid default value for 'dateAdded'

誰か助けてください

どのように解決するのですか?

CURRENT_TIMESTAMPTIMESTAMP フィールドにのみ適用されます。 DATETIME フィールドは、NULLのデフォルト値か、デフォルト値が全くないかのどちらかを残さなければなりません - デフォルト値は、式の結果ではなく、定数値でなければなりません。

関連するドキュメントを参照してください。 http://dev.mysql.com/doc/refman/5.0/en/data-type-defaults.html

新しいレコードに "now" 値を埋めるためにテーブルにポストインサートトリガーを設定することによって、これを回避することができます。