当前位置: 代码迷 >> MySQL >> mysql触发器容易应用
  详细解决方案

mysql触发器容易应用

热度:61   发布时间:2016-05-05 17:01:22.0
mysql触发器简单应用

创建存储过程之前首先看mysql数据库有没打开触发器事件服务, 否则无法创建触发器.

查看方式:

show variables like '%scheduler%';

?+-----------------+-------+

| Variable_name ? | Value |

+-----------------+-------+

| event_scheduler | OFF ? |

+-----------------+-------+

?

如果显示上面的结果就说明未开启服务, 需要在my.ini配置文件的mysqld下添加 event_scheduler = on,之后重启mysql即可.

?

在我的应用场景中是两个库的两张表, 并且表结构不一样的两张表, 表名相同, 姑且叫DB1.TABLE, DB2.TABLE

创建触发器:

create TRIGGER t_after_insert_product AFTER insert on DB1.TABLEfor each ROWBEGINinsert into DB2.TABLE (ID,`NAME`) values (new.id, new.`name`);END

?注意:begin和end之间的sql语句要以";"号结尾,否者会报错.

DB1.table里新插入的数据, 要用 ?"new."列名来获取, 这样就能把值插入到DB2.TABLE里面, 经过测试DB1.TABLE.ID是自增长的值也可以正常插入到db2.table.id的列里.

?

查询已经存在的触发器:

SELECT * FROM information_schema.`TRIGGERS`

?删除触发器的语句

drop TRIGGER [trigger_schema].[trigger_name]

?

  相关解决方案