触发器是与表有关的数据库对象,指在insert/updateldelete之前或之后,触发并执行触发器中定义的SQL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录,数据校验等操作。
(大约是机关)
触发器类型
我们可以使用OLD, NEW 来获取被修改的对象和修改后的对象
类型 | OLD | NEW |
---|---|---|
INSERT类型 | NO | YES |
UPDATE类型 | YES | TES |
DELETE类型 | YES | NO |
触发器的创建
一共有6种触发器 before_insert, before_update, before_delete, after_insert ······
CREATE tirgger trigger_name_trigger_time_trigger_event
before/after insert/update/delete
on table_name
for each row
begin
tigger stmt;
end;
为了易读性
trigger_name: 表名
trigger_time: 触发时机(before/after)
trigger_event: 触发事件(insert / delete / update)
触发器的删除
drop trigger name;
触发器的修改
无,建议先删除再创建
触发器的查看
SHOW TRIGGERS;
SHOW TRIGGERS\G; # 命令行模式可用
SHOW CREATE TRIGGER name;