MySQL触发器中通过SELECT语句给局部变量赋值

本文分享了在数据库中使用触发器与变量的一些经验教训,包括如何正确地声明和使用变量,以及通过触发器实现数据更新和删除操作的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一条赋值变量引发的巨坑,自己备注一下,浪费了不少时间。这边关键字,我都用了大写,方便观看。好久之前记录的了,现优化了格式,更方便阅读

 

一,新增的实例

CREATE  TRIGGER  num_in  AFTER  INSERT  ON user_t
FOR   EACH   ROW  BEGIN

--变量的声明
DECLARE num INT(11) ;

--赋值
SET  num = (SELECT  COUNT(id)  FROM user_t) ;

     UPDATE  count_table SET count_num = num , update_time = SYSDATE() 
     WHERE table_name = "user_t" ;

END ;

 

二,删除的实例

CREATE  TRIGGER  account_delete_info  AFTER  DELETE  ON sys_account_info
FOR   EACH   ROW  BEGIN

DECLARE deleteid INT(11) ;

-- 保险起见
SET  deleteid = 0 ;

-- 直接获取不到,得先存一下  这是个小坑
SET  deleteid = OLD.id ;

-- 保险起见 ,确保在获得值的时候删除
IF deleteid != 0 THEN

   DELETE from sys_user_info  where sys_user_info.account_id = deleteid ;

END IF ;

END ;

 

三,删除触发器


DROP TRIGGER account_delete_info ;

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值