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语句或一段存储过程的调用语句。