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]

猜你喜欢

转载自zcqshine.iteye.com/blog/2217866