MySQL觸發器可以通過兩種方式創建:
CREATE TRIGGER trigger_name
{ BEFORE | AFTER } { INSERT | UPDATE | DELETE } ON table_name
[ FOR EACH ROW ]
trigger_body
其中,trigger_name是觸發器的名稱,可以自定義;BEFORE和AFTER表示觸發器的執行時間點;INSERT、UPDATE和DELETE表示觸發器的事件類型;table_name是觸發器所屬的表的名稱;FOR EACH ROW表示觸發器對每一行記錄都執行;trigger_body是觸發器的執行語句。
ALTER TABLE table_name
{ ADD | DROP } TRIGGER trigger_name
{ BEFORE | AFTER } { INSERT | UPDATE | DELETE }
trigger_body
其中,table_name是觸發器所屬的表的名稱;ADD和DROP表示添加或刪除觸發器;trigger_name是觸發器的名稱,可以自定義;BEFORE和AFTER表示觸發器的執行時間點;INSERT、UPDATE和DELETE表示觸發器的事件類型;trigger_body是觸發器的執行語句。
無論是使用CREATE TRIGGER還是ALTER TABLE語句創建觸發器,都需要提供觸發器的執行語句(trigger_body),該語句可以是一條SQL語句或一段存儲過程的調用語句。