mysql中的觸發器


一、觸發器介紹

  觸發器(trigger), 事先為某張表綁定好一些代碼, 當這張表數據發生改變時,系統會自動調用這些綁定的代碼.

  事件類型:insert, delete, update

  觸發時間:befor, after

  事件對象:表中的每一條記錄(針對行的)

  每張表中最多只能有6個觸發器。(事件類型和觸發時間共有6種組合,每種組合只能有一個)

二、創建觸發器

-- 創建觸發器
delimiter $$
create trigger 觸發器名字 after insert on 事件對象(表名) for each row
begin
update goods set cnt = cnt - 1 where id = 1;  -- SQL語句 end
$$
delimiter ; 

三、查看觸發器
1. show triggers [like 'pattern'];

2. show create triggers 觸發器名字;

3. 所有觸發器都保存在一張表中:information_schema.triggers

 select * from information_schema.triggers;

四、刪除觸發器

drop trigger 觸發器名字;

五、觸發器的記錄

  不管觸發器是否觸發了, 只要當某種操作准備執行, 系統就會把准備操作的記錄的當前狀態和操作即將完成后的狀態保存下來:

  當前狀態保存在old中;  -- insert是只有new, 使用方法:old.字段名

  將來的狀態保存在new中;  -- delete時只有old, new.字段名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM