sqlite3 で更新時に更新日時、削除時に連鎖削除のトリガー

sqlite3 で更新時に更新日時、削除時に連鎖削除のトリガーをメモ

▼更新時に updated_at へローカル時刻を保存
  1. CREATE TRIGGER トリガー名 AFTER UPDATE ON 対象テーブル  
  2. BEGIN  
  3.     UPDATE 対象テーブル  
  4.     SET updated_at = DATETIME('now''localtime')  
  5.     WHERE rowid == NEW.rowid;  
  6. END  

▼親テーブルのレコード削除時に、親idを持つレコードを連鎖削除
  1. CREATE TRIGGER トリガー名 AFTER DELETE ON 親テーブル  
  2. FOR EACH ROW  
  3. BEGIN  
  4.     DELETE FROM 対象テーブル  
  5.     WHERE 連結フィールド = OLD.id;  
  6. END  

コメント