我是靠谱客的博主 忧虑便当,最近开发中收集的这篇文章主要介绍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

最后

以上就是忧虑便当为你收集整理的MySQL触发器的基本操作的全部内容,希望文章能够帮你解决MySQL触发器的基本操作所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(84)

评论列表共有 0 条评论

立即
投稿
返回
顶部