插入时多个数据库触发器

时间:2012-07-16 11:23:28

标签: php mysql triggers phpmyadmin

在跨数据库创建触发器时遇到一些麻烦。

我正在通过phpmyadmin进行此查询。

如果我执行以下操作,则会收到错误消息,指出未选择数据库。

delimiter // 
DROP trigger if exists t1// 
CREATE trigger t1 AFTER INSERT ON db1.d1t
FOR EACH ROW BEGIN

INSERT INTO db2.d2t SET ID=NEW.ID;

END// 
delimiter ;

如果我在Phpmyadmin中导航到db1,然后执行以下操作:

delimiter // 
DROP trigger if exists t1// 
CREATE trigger t1 AFTER INSERT ON db1t
FOR EACH ROW BEGIN

INSERT INTO db2.db2t SET ID=NEW.ID;

END// 
delimiter ;

触发器已创建,但它正在尝试在db1.db2.db2t上插入时触发。

任何帮助都非常感激。

编辑: 两个表都是INNODB mysql server v.5.1.61 phpmyadmin v.3.4.5

1 个答案:

答案 0 :(得分:0)

试试这个(已编辑):

USE db1;

DROP TRIGGER IF EXISTS t1;

DELIMITER //

CREATE TRIGGER t1 AFTER INSERT ON d1t
FOR EACH ROW BEGIN
  INSERT INTO db2.d2t
    (ID)
  VALUES
    (NEW.ID);
END//

DELIMITER ;

这对我有用。