MYSQL 触发器

微笑、不失礼 提交于 2019-12-02 23:06:42

#触发器

#创建基本语法

#插入前
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 

#删除前
CREATE TRIGGER tri_before_delete_tb1 BEFORE DELETE tb1 FOR EACH ROW
BEGIN 
...
END 

#删除后
CREATE TRIGGER tri_after_delete_tb1 AFTER DELETE tb1 FOR EACH ROW
BEGIN 
...
END 

#更新前
CREATE TRIGGER tri_beofre_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

#插入前触发器
delimiter //
CREATE TRIGGER tri_before_insert_tb1 BEFORE INSERT ON tb1 FOR EACH ROW
BEGIN 
IF NEW.NAME == 'alex' THEN
VAlUES
('aa')
END 
END // 
delimiter;

 

#插入后触发器
delimiter // 
CREATE TRIGGER tri_before_insert_tb1 AFTER INSERT ON tb1 FOR EACH ROW
BEGIN 
IF NEW.num = 666 THEN 
INSERT INTO tb2 (NAME)
VAlUES
('666'),
('666');
ELSE IF NEW.num = 555 THEN
INSERT INTO tb2 (NAME)
VAlUES
('555'),
('555');
END IF;
END//
delimiter;

#删除触发器
DROP TRIGGER tri_after_insert_tb1;

#使用触发器
insert into tb1(num) values(666);

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!