概述
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触发器的基本操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复