MySQL触发器的基本操作

1 :创建触发器:

1.1 :创建只有一个执行语句的触发器

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 :建立触发器的数据表名称

FOR EACH ROW:对创建触发器的数据表中每一条记录行进行操作

trigger_stmt:触发器的程序体即触发器要执行的语句

1.2:创建有多个执行语句的触发器

CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_stmt

trigger_stmt:指定多条触发语句即

例子:test1表在执行insert语句之前将要插入test1表中a1字段的值同事插入到test2表a2字段中,如果将要插入test1表a1字段的等于test4表中a4的值那么将test4表中b4字段的值加1

CREATE TRIGGER testref BEFORE INSERT ON test1 FOR EACH ROW

BEGIN

INSERT INTO test2

SET a2 = NEW.a1;

DELETE

FROM

test3

WHERE

a3 = NEW.a1;

UPDATE test4

SET b4 = b4 + 1

WHERE

a4 = NEW.a1;

END

2:查看触发器

2.1:SHOW TRIGGERS语句查看触发器信息

字段代表的含义;

Trigger:触发器的名称

Event:触发器触发时执行的操作

Table:激活触发器操作的数据表

Statement:该触发器执行的具体操作过程

Timing:触发的时机

Created:

sql_mode:

Definer:

character_set_client:

collaction_connection:

Database_collaction:

2.2:在triggers表中查看触发器信息

在mysql中所有触发器的定义都存在INFORMATION_SCHEMA数据库的TRIGGERS表格中,可以通过select语句查询

SELECT * FROM INFORMATION_SCHEMA.TRIGGERS

3:触发器的使用

触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。在某些触发程序的用法中,可用于检查插入到表中的值,或对跟新涉及的值进行计算。

insert delete 或者update

例:创建一个在account 表更新之后,更新myevent数据表的触发器

CREATE TRIGGER trig_insert AFTER INSERT ON account FOR EACH ROW INSERT INTO myevent

VALUES

(2, 'after insert')

4:删除触发器

使用DROP TRIGGER 语句可以删除MySql中已经定义的触发器

DROP TRIGGER trigger_name

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值