TRIGGER文を使います。基本的な書式は次の通りです。trigger_stmtトリガにはINSERT、UPDATE、DELETEの3種類のトリガが用意されています。INSERTトリガはテーブルに行が挿入される時に設定したSQL文が実行されます。INSERT文やREPLACE文などです。UPDATEトリガは行が修正される時にSQL文が実行されます。UPDATE文などです。DELETEトリガは行が削除される時にSQL文が実行されます。DELETE文やREPLACE文などです。いつ設定したSQL文が実行されるのかを指定することができます。INSERTトリガにBEFOREを指定した場合、行が挿入される前に設定したSQL文が実行されます。同じようにAFTERを指定した場合は行が挿入された後に設定したSQL文が実行されます。ON句の後にはトリガの対象となるテーブル名を指定します。INSERTトリガでBEFOREを付ける場合は次のようになります。trigger_stmt例えばUPDATEトリガでAFTERを付ける場合は次のようになります。trigger_stmt続いて実行するSQL文を記述していきます。実行されるSQL文1つのテーブルに対して同じ種類のトリガを複数作成することはできません。その代わり一つのトリガで複数のSQL文を実行することができます。END文を使って次のように記述します。;複数の文を記述する場合、各文の最後にセミコロン(;)を記述しなければいけません。TRIGGER文全体の区切りと判断されてしまいます。TRIGGER文を実行しています。TRIGGER文は$$が現れるまでが1つの文として処理され、文の途中でセミコロンを使用することができます。文の区切りをセミコロンに戻しておくことを忘れないで下さい。次のように記述します。ROWのみサポートされています。この場合、対象テーブルに対しデータが1行処理される度にトリガが1回実行されることを意味します。DELETEトリガが設定されているテーブルに対してDELETE文で5つのデータを削除すると、データが1行削除される毎にトリガが1回実行され合計5回実行されることを意味します。STATEMENTが指定されるとデータが何行削除されようと一度のDELETE文では1回だけトリガが実行されます)。サンプルここではトリガの動作を確認するための簡単なサンプルを試してみます。次のような2つのテーブルを作成します。timestamp);まずINSERTトリガを1つ作成します。;続いてDELETEトリガを1つ作成します。;では「user」テーブルにデータを追加します。'星野');「user」テーブルにはINSERTトリガが作成されていますので「user」テーブルにデータを追加すると「log」テーブルにも自動的にデータが追加されます。「log」テーブルを確認してみます。このように「log」テーブルにデータが追加されていることが確認できます。「user」テーブルにデータを2件追加します。「log」テーブルを確認してみます。同じように「log」テーブルにデータが追加されていることが確認できます。***「user」テーブルにはDELETEトリガも作成されていますので「user」テーブルからデータを削除すると「log」テーブルにも自動的にデータが追加されます。「user」テーブルからデータを2つ削除してみます。3;「log」テーブルを確認します。「log」テーブルにデータが2つ追加されていることが確認できます。DELETE文は一度しか実行されていませんが、DELETE文によって2つのデータが削除されているため2回トリガが実行されています。IKURA初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を多数行っています。