我有两个MySQL数据库,第一个有一个表t1
,有三个字段id
,t2id
,f
,第二个表有t2
表}有两个字段id
,f
t1.t2id
应与t2.id
= t1.f
t2.f
具有相同的值,但t2.id
的值每天都在变化。
我想要实现的是,每当t2.id
的值发生变化时,t1.t2id
的值也会更新,这是否可以使用过程?
还有其他建议吗?
答案 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...