您的位置:首页 > 数据库 > MySQL

MySQL触发器(初级体验)

2019-06-14 15:33 956 查看

在MySQL中触发事件分为 INSERT、UPDATE 或DELETE;
触发的时机有:BEFORE(触发事件之前) 或 AFTER(触发事件之后)我只用过AFTER;
有一个限制是不能同时在一个表上建立2个相同类型的触发器,因此在一个表上最多建立6个触发器。
实例:

CREATE  TRIGGER   触发器名称(自己写)  触发时机(BEFORE或AFTER)
触发事件(INSERT、UPDATE 或DELETE)   ON    要监听的表名     FOR EACH ROW
BEGIN
你要执行的操作()
END

下面这个例子时是监听sys_user 表中的insert事件,若sys_user 表中发生了insert事件,则给sys_user_role 表中插入一条对应的数据。这里使用了一个关键字NEW,这个NEW代表的是插入到sys_user 表中的那条记录;若是update和delete事件使用的是OLD关键字,也是代表更新或删除的那条记录。
CREATE TRIGGER add_sys_user_role AFTER INSERT ON sys_user FOR EACH ROW
BEGIN
INSERT INTO sys_user_role (user_id, role_id)
VALUES
(NEW.user_id, 3);
END

新手,勿喷!!!!!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: