MySQL触发器
触发器是预先定义的一段SQL语句,当在某个表上执行INSERT/UPDATE/DELETE操作之前或之后,会自动执行触发器。
创建触发器
CREATE TRIGGER trigger_name
AFTER/BEFORE INSERT/UPDATE/DELETE ON table_name
FOR EACH ROW
BEGIN
-- 触发器操作的SQL语句
END;
查看触发器
SHOW TRIGGERS;
删除触发器
DROP TRIGGER IF EXISTS trigger_name;
NEW与OLD变量
使用OLD和NEW变量,可以在触发器中获取发生变化的记录内容:
触发器类型 | 描述 | 使用 |
---|---|---|
INSERT 型触发器 | 当插入新数据时触发 | 使用 NEW 变量引用新数据 |
UPDATE 型触发器 | 当更新数据时触发 | 使用 OLD 变量引用修改之前的数据,NEW 变量引用修改后的数据 |
DELETE 型触发器 | 当删除数据时触发 | 使用 OLD 变量引用将要或已经删除的数据 |