2012-09-14 83 views
0

是否可以在MySQL中應用跨數據庫訪問觸發器如果是這樣,請舉一個例子。我的目的是在數據庫1中插入/更新/刪除任何新數據時插入/更新/刪除數據庫2中的數據。我正在使用MySQL 5.1Mysql中的跨數據庫觸發器

+0

跨數據庫(不同的數據庫安裝)觸發不存在。 (交叉架構,在一臺服務器上,offcourse確實存在)。嘗試複製或MySQLDump。 http://stackoverflow.com/questions/4406808/importing-mysql-database-from-one-server-to-another – Konerak

+0

@ mridul4c你究竟打算做什麼? – Devart

+0

@Devart其實我有一個數據庫,從我的CMS動態填充,並且每次插入或更新時,我都需要我的另一個數據庫具有相同的插入或更新,而無需編寫代碼和使用觸發器。 – mridul4c

回答

3

是的,你可以。你可以製作一個程序並在觸發器中調用它。程序示例:

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;