Mysql中的跨数据库触发器 [英] Cross database trigger in Mysql

查看:165
本文介绍了Mysql中的跨数据库触发器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以将触发器应用于MySQL中的跨数据库访问?如果是,请举一个例子.我的目的是如果在database1中插入/更新/删除了任何新数据,则在database2中插入/更新/删除数据.我正在使用MySQL 5.1

Is it possible to apply trigger for cross database access in MySQL If so please give one example. My purpose is to insert/update/delete data in database2 if there is any new data inserted/updated/deleted in database1. I am using MySQL 5.1

推荐答案

是的,可以.您可以创建一个过程并在触发器中调用它.程序示例:

Yes, you can. You could make a procedure and call it in your trigger. Procedure example :

DELIMITER //

CREATE PROCEDURE delete(in table VARCHAR(300), in db VARCHAR(300), in id INT)
BEGIN

set @query0 = CONCAT('DELETE FROM ', new_db, '.', tabela, ' WHERE id=',id);

PREPARE select_query0 FROM @query0;
EXECUTE select_query0;
DEALLOCATE PREPARE select_query0;

END; //

DELIMITER ;

然后创建触发器:

CREATE TRIGGER del_trigger BEFORE DELETE ON table
  FOR EACH ROW BEGIN
    CALL delete(db, table, OLD.id); 
  END;

这篇关于Mysql中的跨数据库触发器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆