MySQL 基础---触发器(TRIGGER)

触发器: 实现由一些表事件触发的某个操作,是与数据库对象表关联最紧密的数据库对象之一。在数据库系统中,当执行表事件时,则会激活触发器,从而执行其包含的操作。

  1. 创建触发器
    (1)创建有一条执行语句的触发器
# 创建部门表
 create table t_diary(
          diaryno int(11),
          tablename varchar(20),
          diarytime datetime not null
 );
# 创建日记表
 create table t_diary(
         diaryno int(11) primary key auto_increment,
         tablename varchar(20),
         diarytime datetime
);
# 创建触发器
create trigger tri_diarytime
         before insert
         on t_dept for each row
                 insert into t_diary values(null, 't_dept', now());
# 插入一条数据
insert into t_dept values(1, 'cjgongdept','ShangXi');
# 查询部门表
select * from t_dept;
# 查询日记表
select * from t_diary;

(2)创建包含多条执行语句的触发器

# 将结束符号定义为$$
delimiter $$
# 创建触发器
create trigger tri_diarytime2
         after insert
         on t_dept for each row
         begin
                 insert into t_diary values(null, 't_dept', now());
                 insert into t_diary values(null, 't_dept', now());
         end
$$
# 将结束符号设置为分号
 delimiter ;
# 在部门表中插入数据
 insert into t_dept values(2, 'gjgongdept', 'shangxi');
# 查询部门表
 select * from t_dept;
# 查询日记表
 select * from t_diary;
  1. 查看触发器
    SHOW TRIGGERS 语句查看触发器show triggers \G;

  2. 删除触发器
    通过DROP TRIGGER语句删除触发器drop trigger tri_diarytime2;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.1 基本结构 PL/SQL程序由三个块组成,即声明部分、执行部分、异常处理部分。 1.2 命名规则 1.3 记...
    慢清尘阅读 9,354评论 3 14
  • 触发器 MySQL包含对触发器的支持。触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用...
    FTOLsXD阅读 4,518评论 0 1
  • 公元753年,一位须发皆白的老人缠绵病榻,气息奄奄,一位巫师对他的家人说,相公这个病,吃药没用,能见皇帝一面就好了...
    采采芣苡阅读 5,078评论 0 5
  • 不知道从什么时候开始,打开微信里的公众号,全成了清一色的“干货”。“教你十招鉴别渣男” “女生怎样才能hold住爱...
    木晴熙阅读 3,754评论 0 1
  • 1心理机制 投射,认同,压抑 2心理材料 客体,客体表象,自体,自体表象 3假自体
    老占a阅读 1,014评论 0 0