使用触发器可以在用户对表进行【增、删、改】操作时前后定义一些操作,注意:没有查询
创建触发器
create trigger 触发器的名字 之前(before)或者之后(after) 行为(insert、delete、update) on 表名 for each row
begin (开始)
触发器代码,sql语句
end (结束)
before 插入前
after 插入后
before 在insert 行为之前去触发 begin 里面sql语句
after 在insert 行为之后去触发begin 里面sql语句
# 插入前
CREATE TRIGGER tri_before_insert_tb1 BEFORE INSERT ON tb1 FOR EACH ROW
BEGIN
...
END # 插入后
CREATE TRIGGER tri_after_insert_tb1 AFTER INSERT ON tb1 FOR EACH ROW
BEGIN
...
END
before insert
针对这张表每一行插入记录之前 我都会触发这个触发器
after inser
针对这张表每一行插入记录之后 我都会触发这个触发器
before delete 针对这张表每删除一行记录之前 都会触发 begin里面sql语句
after delete 针对这张表每删除一行记录之后 都会触发 begin里面sql语句
# 删除前
CREATE TRIGGER tri_before_delete_tb1 BEFORE DELETE ON tb1 FOR EACH ROW
BEGIN
...
END # 删除后
CREATE TRIGGER tri_after_delete_tb1 AFTER DELETE ON tb1 FOR EACH ROW
BEGIN
...
END
# 更新前
CREATE TRIGGER tri_before_update_tb1 BEFORE UPDATE ON tb1 FOR EACH ROW
BEGIN
...
END # 更新后
CREATE TRIGGER tri_after_update_tb1 AFTER UPDATE ON tb1 FOR EACH ROW
BEGIN
...
END
二 使用触发器
触发器无法由用户直接调用,而知由于对表的【增/删/改】操作被动引发的
删除触发器
drop trigger tri_after_insert_cmd;