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 '更新日',
:
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 '更新日',
:
2015-09-25 12:33
nice!(0)
コメント(0)
トラックバック(0)
コメント 0