Mysql创建触发器添加/更新时触发,减少软件负担

通过Sql语句创建触发器

监视表中的数据变化触发一些规定的操作,面向数据库编程,减轻软件应用负担。

方式一、通过Navicat创建触发器

在这里插入图片描述

	# 触发器需要执行的操作
	BEGIN 
		#NEW为新添加的数据
		#判断添加的数据ZJHM是否为空并且长度大于2时
		#将ZJHM的值截取前两位放到province中
		IF NEW.`ZJHM` IS NOT NULL AND LENGTH(NEW.`ZJHM`) >=2 THEN
			SET NEW.`province` = LEFT(NEW.`ZJHM`,2);
		END IF;
	END;

方式二、通过Sql语句创建

1、添加数据时触发

CREATE TRIGGER `AddProvince` #触发器名称
	BEFORE INSERT #添加时触发
	ON `xq_ryxx` #表名,对那个表添加
	FOR EACH ROW #触发器作用在每条记录
	# 触发器需要执行的操作
	BEGIN 
		#NEW为新添加的数据
		#判断添加的数据ZJHM是否为空并且长度大于2时
		#将ZJHM的值截取前两位放到province中
		IF NEW.`ZJHM` IS NOT NULL AND LENGTH(NEW.`ZJHM`) >=2 THEN
			SET NEW.`province` = LEFT(NEW.`ZJHM`,2);
		END IF;
	END;

2、更新数据时触发

CREATE TRIGGER `UpdateProvince` #触发器名称
	BEFORE UPDATE #更新时触发
	ON `xq_ryxx` #表名,对那个表添加
	FOR EACH ROW #触发器作用在每条记录
	# 触发器需要执行的操作
	BEGIN 
		#NEW为新添加的数据
		#判断添加的数据ZJHM是否为空并且长度大于2时
		#将ZJHM的值截取前两位放到province中
		IF NEW.`ZJHM` IS NOT NULL AND LENGTH(NEW.`ZJHM`) >=2 THEN
			SET NEW.`province` = LEFT(NEW.`ZJHM`,2);
		END IF;
	END;
最近在找工作,Java前后端全站工程师一枚,有合适的请帮博主推荐一下
有项目的也可以联系我,感谢感谢
博主在北京 2023-07-04 发
V:y393016244
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乾坤鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值