« twitterのr.twimg.com/jotがウザい Main Firefoxでテーブルセルの全選択 »

SQLiteでトリガー(5)

前記事:SQLiteでトリガー(3)||SQLiteでトリガー(4)

テーブルの作成日時と更新日時を自動的に更新する設定を書いていたが、細切れに記事を作成したら自前で作業を参照しにくくなっちゃってたのでまとめ直し:

「テーブルXを作成し、created, modifiedの日時項目を、それぞれ作成時と更新時に自動更新させる」

テーブルXの作成(作成時情報はDEFAULT指定、idカラムを一意指定)

CREATE TABLE X (id INTEGER PRIMARY KEY,
                created DATETIME DEFAULT (datetime('now','localtime')), modified DATETIME);

テーブルXの更新時トリガー(更新時情報はトリガー内で設定、idカラムで特定)

CREATE TRIGGER X_trig_upd AFTER UPDATE ON X
BEGIN
  UPDATE X SET modified=datetime('now','localtime') WHERE id=OLD.id;
END;

Leave a comment

Your comment