觸發器中的BEFORE和AFTER區別

2021-09-28 14:37:40 字數 453 閱讀 5727

這章講述了觸發器中的兩個關鍵字的區別

首先,如何建立觸發器,格式如下:

delimiter $$

create

trigger 《觸發器名》before/after insert/update/delete on

for each row begin

end$$
delimiter ;

無論是insert/update/delete觸發器,它們都有乙個before或者after關鍵字

這兩個關鍵字的區別:

before 就是在insert/update/delete操作之前執行觸發器

after 就是在insert/update/delete操作之後執行觸發器

注意:mysql目前不支援多個具有同乙個動作,同一時間,同一事件,同一地點的觸發器(不然會出錯)!

觸發器中Before與After區別

基本概念 after 是先完成資料的增刪改,然後再觸發,觸發的語句晚於監視的增刪改,無法影響前面的增刪改動作 也就是說先插入訂單記錄,再更新商品數量。當商品數量少於訂單數量時造成爆庫。before 先完成觸發,在進行增刪改,觸發語句先於監視的增刪改,我們就有機會判斷,修改即將發生的操作。如 我們在觸...

mysql之觸發器before和after的區別

我們先做個測試 接上篇日誌建的商品表g和訂單表o和觸發器 假設 假設商品表有商品1,數量是10 我們往訂單表插入一條記錄 insert into o gid,much values 1,20 會發現商品1的數量變為 10了。這就是問題的所在,因為我們之前建立的觸發器是after,也就是說觸發的語句是...

mysql之觸發器before和after的區別

我們先做個測試 接上篇日誌建的商品表g和訂單表o和觸發器 假設 假設商品表有商品1,數量是10 我們往訂單表插入一條記錄 insert into o gid,much values 1,20 會發現商品1的數量變為 10了。這就是問題的所在,因為我們之前建立的觸發器是after,也就是說觸發的語句是...