sqlite3 で更新時に更新日時、削除時に連鎖削除のトリガー
sqlite3 で更新時に更新日時、削除時に連鎖削除のトリガーをメモ
▼更新時に updated_at へローカル時刻を保存
CREATE TRIGGER トリガー名 AFTER UPDATE ON 対象テーブル
BEGIN
UPDATE 対象テーブル
SET updated_at = DATETIME('now', 'localtime')
WHERE rowid == NEW.rowid;
END
▼親テーブルのレコード削除時に、親idを持つレコードを連鎖削除
CREATE TRIGGER トリガー名 AFTER DELETE ON 親テーブル
FOR EACH ROW
BEGIN
DELETE FROM 対象テーブル
WHERE 連結フィールド = OLD.id;
END
コメント