0

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

我正在通过 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

4

1 回答 1

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 ;

这对我有用。

于 2012-07-16T11:38:29.423 回答