根据另一个字段值

时间:2018-03-14 16:11:18

标签: mysql

我有两个MySQL数据库,第一个有一个表t1,有三个字段idt2idf,第二个表有t2表}有两个字段idf t1.t2id应与t2.id = t1.f t2.f具有相同的值,但t2.id的值每天都在变化。

我想要实现的是,每当t2.id的值发生变化时,t1.t2id的值也会更新,这是否可以使用过程?

还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

如评论所述,您可以使用TRIGGER s(docs)。

您可能需要两个触发器,一个在插入时,另一个在更新时。

DELIMITER //
CREATE TRIGGER insert_t1 AFTER INSERT ON t2
   FOR EACH ROW
   BEGIN
       INSERT INTO t1
       (t2id, f)
       VALUES
       (NEW.id, NEW.f);
   END //

   CREATE TRIGGER insert_t1 AFTER UPDATE ON t2
   FOR EACH ROW
   BEGIN
       UPDATE t1
       SET 
           f = NEW.f
       WHERE 
           t2id = NEW.id;
   END //
DELIMITER ;

修改的: 要调整多个数据库,您需要对它们进行限定,假设用户具有两个数据库的权限(我假设他们在同一主机上)。

所以而不是:CREATE TRIGGER insert_t1 AFTER INSERT ON t2....你会做CREATE TRIGGER db1.insert_t1 AFTER INSERT ON db2.t2...