小编典典

Mysql中的跨数据库触发器

sql

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


阅读 450

收藏
2021-04-14

共1个答案

小编典典

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

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;
2021-04-14