在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
新手,勿喷!!!!!