SSブログ

MySQL timestamp型の値を自動更新するためのcreate文 [MySQL]

DEFAULT CURRENT_TIMESTAMPを使用します。

create table sample(
 :
create_date timestamp DEFAULT CURRENT_TIMESTAMP COMMNET '作成日時',
update_date timestamp DEFAULT CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP COMMENT '更新日時'
);

この構文で間違いないのですが、なぜかバージョン5.1だと以下のエラーメッセージ。
ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

「there can be only one TIMESTAMP column with CURRENT_TIMESTAMP」
ひとつのTIMESTAMPカラムにしかCURRENT_TIMESTAMP使用できない???

いろいろ調べるとMySQLの方言だとか…
これだと使い方が限られるので、yumを使って5.6にバージョンアップ。
(この作業も一苦労でした)


同じSQLを実行したところ問題なくテーブル作成できました。
show create table sample;

| sample | CREATE TABLE `sample` (
 :
`create_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '作成日',
`update_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新日',
 :

nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。