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