首页 > 代码库 > information_schema.triggers 学习
information_schema.triggers 学习
mysql实例中的每一个trigger 对应到information_schema.triggers 中有一行
1、information_schema.triggers 表的常用列:
1、trigger_catalog :永远是def
2、trigger_schema :trigger 所在的数据库名
3、event_manipulation :触发trigger 的事件类型可以是 insert | update | delete
4、event_object_schema :trigger 所基于的表所在的数据库名
5、event_object_table :trigger 所基于的表名
6、action_statement :trigger 内部所包涵的SQL语句
2、例子:
drop table if exists t;drop table if exists t_log;create table t(id int auto_increment,x int,constraint pk__t__id primary key(id))engine=innodbdefault char set utf8;create table t_log(id int auto_increment,log_time datetime default now(),constraint pk__t_log__id primary key(id))engine=innodbdefault char set utf8;delimiter gocreate trigger tg__insert__tbefore inserton tfor each rowbegin insert into t_log(log_time) values(current_timestamp());end godelimiter ;
查看trigger 信息:
mysql> select * from triggers \G*************************** 1. row *************************** TRIGGER_CATALOG: def TRIGGER_SCHEMA: tempdb TRIGGER_NAME: tg__insert__t EVENT_MANIPULATION: INSERT EVENT_OBJECT_CATALOG: def EVENT_OBJECT_SCHEMA: tempdb EVENT_OBJECT_TABLE: t ACTION_ORDER: 0 ACTION_CONDITION: NULL ACTION_STATEMENT: begininsert into t_log(log_time) values(current_timestamp());end ACTION_ORIENTATION: ROW ACTION_TIMING: BEFOREACTION_REFERENCE_OLD_TABLE: NULLACTION_REFERENCE_NEW_TABLE: NULL ACTION_REFERENCE_OLD_ROW: OLD ACTION_REFERENCE_NEW_ROW: NEW CREATED: NULL SQL_MODE: STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION DEFINER: root@localhost CHARACTER_SET_CLIENT: utf8 COLLATION_CONNECTION: utf8_general_ci DATABASE_COLLATION: latin1_swedish_ci
information_schema.triggers 学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。