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 结束


复制过去 要把注释干掉

希望可以帮当大家 

欢迎讨论和教导







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