简单介绍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.TABLE for each ROW BEGIN insert 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]
http://zcqshine.iteye.com/blog/2217866