tablename1 ‥ トリガーを作成するテーブル
tablename2 ‥ tablename1 に登録されたデータと同じデータを登録するテーブル
両テーブルともに id, created, category, description の4項目を持ちます。
create trigger トリガー名 after insert on tablename1 for each row
insert into tablename2 (id,created,category,description) values
(NEW.id,NEW.created,NEW.category,NEW.description)
NEWが新しく登録されたデータを指しているようです。
UPDATEコマンドの場合
create trigger トリガー名 after update on tablename1 for each row
UPDATE tablename2 SET
`created`=NEW.`created`,
`category`=NEW.`category`,
`description`=NEW.`description`
WHERE `id`=OLD.`id`
OLDは変更前のデータを指している。idを変更することがなければOLDでもNEWでも結果は同じ。
idを変更するような場合はNEWにした方が良いかもしれない。
トリガーを使用せずにデータをコピーする
トリガーを使わなくても、INSERTコマンドやUPDATEコマンドを実行した後、
実行対象テーブルを別テーブルに変更して、もう一度実行するという方法も考えられる。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image