MySQLのテーブルに登録日時と更新日時を自動で設定する方法

MySQLのテーブルに登録日時と更新日時を自動で設定する方法

MySQL5.6.5以降では、インサート時に登録日時やアップデート時に更新日時を自動で設定することができます。

DATETIME型とTIMESTAMP型に値を設定することができます。

CREATE TABLE datesample (
  name VARCHAR(45),
  times TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
  datet DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

DEFAULT CURRENT_TIMESTAMPとすることで、インサート時にタイムスタンプが設定されます。

DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPとすることで、インサート時にタイムスタンプを設定し、アップデート時に更新日時も設定されるようになります。

insert into datesample values ()

インサートするとレコードが作成されます。インサート時は登録日時と更新日時は同じになります。

name times datet
null 01/08/10 14:49:48 01/08/10 14:49:48

nameを更新します。

update datesample
set name = 'a'

DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPとしているカラムのみアップデートされていることがわかります。

name times datet
a 01/08/10 14:49:48 01/08/10 14:54:32

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました