如果我有db1中的表t1和db2中的t2表。現在在db1的t1表上的任何操作我想要在db2的t2上執行相同的操作。使用php觸發多個Mysql數據庫表格
考慮一個場景......如果我在t1中插入相同的記錄應該在t2上添加。 db1和db2都位於相同的數據庫中。
任何人都可以告訴我應該做些什麼來完成這種情況......或者如何在觸發觸發器之前打開兩個數據庫連接?
如果我有db1中的表t1和db2中的t2表。現在在db1的t1表上的任何操作我想要在db2的t2上執行相同的操作。使用php觸發多個Mysql數據庫表格
考慮一個場景......如果我在t1中插入相同的記錄應該在t2上添加。 db1和db2都位於相同的數據庫中。
任何人都可以告訴我應該做些什麼來完成這種情況......或者如何在觸發觸發器之前打開兩個數據庫連接?
您可以在一個表上寫入INSERT, UPDATE & DELETE
觸發器以反映其他表上的數據。
手冊here
CREATE TRIGGER insert_t1 BEFORE INSERT ON db1.t1
delimiter //
FOR EACH ROW
BEGIN
INSERT INTO db2.t2 VALUES (...);
END;//
delimiter ;
這也是我們可以根據在http上相關的數據庫應用
USE db1;
DROP TRIGGER IF EXISTS t1;
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `t1` AFTER INSERT
ON `db1`.`dt1`
FOR EACH ROW BEGIN
INSERT INTO `db2`.`dt2`
(ID,Fname)
VALUES
(NEW.ID,NEW.Fname);
END$$
DELIMITER ;
////Update
USE db1;
DROP TRIGGER IF EXISTS t4;
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `t4` AFTER UPDATE
ON `db1`.`dt1`
FOR EACH ROW BEGIN
UPDATE `db2`.`dt2`
SET `dt2`.`Fname`=NEW.Fname WHERE `dt2`.`ID`=NEW.ID;
END$$
DELIMITER ;
////Delete
USE db1;
DROP TRIGGER IF EXISTS t2;
DELIMITER $$
CREATE
/*[DEFINER = { user | CURRENT_USER }]*/
TRIGGER `t2` AFTER DELETE
ON `db1`.`dt1`
FOR EACH ROW BEGIN
DELETE FROM `db2`.`dt2` WHERE `dt2`.`ID`=OLD.ID;
END$$
DELIMITER ;
外觀的變化更新同一服務器的不同數據庫的數據的方法:// stackoverflow.com/questions/1832759/creating-trigger-across-different-databases – victorsavu3