MySql-创建触发器

在MySQL中,创建触发器语法如下:

CREATE TRIGGER trigger_name

trigger_time

trigger_event ON tbl_name

FOR EACH ROW

trigger_stmt

其中:
trigger_name:标识触发器名称,用户自行指定;
trigger_time:标识触发时机,取值为 BEFORE 或 AFTER;
trigger_event:标识触发事件,取值为 INSERT、UPDATE 或 DELETE;
tbl_name:标识建立触发器的表名,即在哪张表上建立触发器;

trigger_stmt:触发器程序体,可以是一句SQL语句,或者用 BEGIN 和 END 包含的多条语句。


由此可见,可以建立6种触发器,即:BEFORE INSERT、BEFORE UPDATE、BEFORE DELETE、AFTER INSERT、AFTER UPDATE、AFTER DELETE。

另外有一个限制是不能同时在一个表上建立2个相同类型的触发器,因此在一个表上最多建立6个触发器


例如: "ce_column_desc"每新增一条数据,字段创建时间"created_at "就自动更新时间。

DROP TRIGGER IF EXISTS `ce_column_desc_created_at`;
DELIMITER $
CREATE TRIGGER `ce_column_desc_created_at` 
BEFORE 
INSERT 
ON `ce_column_desc` 
FOR EACH ROW 
begin
set new.created_at = now();
end
$ DELIMITER ;


1.判断触发器名称是否存在,不存在继续执行以下命令

2.定界符  DELIMITER $ 可随便定义,例如 ;;   & 等(结束定界符 需一样 即可  )

3.创建触发器 

4.标识触发时机

5.标识触发事件

6.标识建立触发器的表名

7.行级触发器,每行受影响,每插入一条都触发

8.触发器程序体-开始

9.触发器程序体-执行内容

10.触发器程序体-结束

11.结束 定界符 









  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值