mysql------触发器

本文详细介绍了MySQL触发器的创建、查看、使用及删除方法。包括语法示例、常见应用场景及如何利用触发器实现数据自动处理。

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

1、创建触发器

触发器是个特殊的存储过程,触发器不需要用call调用,会自动调用,触发器可以查询其他表,而且可以包含复杂的sql语句。

(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:触发器的表名,即在哪张表建立触发器;
   trigger_stmt:触发器的程序体,可以用begin和end作为开始和结束。

例1:创建一个单执行语句的触发器
Mysql>create table tb_account(acct_num int ,amount decimal(10,2));
Mysql>create trigger ins_sum before insert tb_account for each row set @sum=@sum+NEW.amount;
Mysql>set @sum=0;
Mysql>insert into tb_account values(1,1.00),(2,2.00);
Mysql>select @sum;

表示触发条件是向数据表tb_account插入数据前,对新插入的amount字段进行求和计算,最后@sum的值为3.00


2、查看触发器

(1)SHOW   TRIGGERS语句查看触发器信息

语法:SHOW   TRIGGERS    \G


(2)triggers表中查看触发器信息
MySQL中所有触发器的定义都存在INFORMATION_SCHEMA数据库的TRIGGERS表格中,可以通过查询命令SELECT查看
语法:SELECT     *   FROM    INFORMATION_SCHEMA.TRIGGERS     WHERE       condition;



3、触发器的使用     

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

例1:当向tb_emp表插入数据后会自动向tb_dept表插入一条记录

create trigger trig_insert after insert on tb_emp for each row insert into tb_dept values(4,’lin’);



4、删除触发器

使用DROPTRIGGER语句可以删除MySQL中已经定义的触发器
语法:DROP TRIGGER [schema_name.]trigger_name


例1:删除test数据库的ins触发器

drop triggers test.ins;

转载请注明出处:http://blog.youkuaiyun.com/linshuxin111/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值