mysql 觸發器 監聽這個表插入時增加數據 在某字段變動時進行觸發

項目觸發器

在mysql 表中增加 

需求 當這個表 新增記錄的時候觸發

DROP TRIGGER IF EXISTS t_make_data; //刪除原先的觸發器
CREATE TRIGGER t_make_data //創建觸發器
BEFORE INSERT ON t_tab1 //觸發在這張表新增數據前
FOR EACH ROW
BEGIN  //要執行的sql list 開始
DECLARE number_rand BIGINT(20) DEFAULT 4000 ; 

SET number_rand = (SELECT CAST(RAND()*300+300 AS signed) AS rand);//進行隨機數

SET new.number_rand = number_rand;//要在新增的數據中加入數據
END;//要執行的sql list 結束



下面這個是在這個表某個字段發生變動的時候進行觸發

DROP TRIGGER IF EXISTS t_make_data;//刪除原先的觸發器
CREATE TRIGGER t_make_data //創建觸發器
BEFORE update ON t_tab1 //觸發在這張表修改原先數據前
FOR EACH ROW
BEGIN
DECLARE number_rand BIGINT(20) DEFAULT 100 ; //創建變量

SET number_rand = (SELECT CAST(RAND()*10+10+old.number_rand AS signed) AS rand);//隨機數

IF new.number <> old.number then //進行判斷如果新的數據 不等於 就的數據
	SET new.number_rand=number_rand; //進行性更新
END IF; //if結束
END; //sql 結束


複製過去 要把註釋幹掉

希望可以幫當大家 

歡迎討論和教導







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章