在我的服务器上,插入一个表后,我想更新另外两个表。我怎么能用触发器做到这一点?
表一有两列tab3id,tab3id。
在tab1上插入后,我想用tab2id更新tab2中的行,使用tab3id更新tab3中的行。
答案 0 :(得分:2)
很难说明你要在表tab2
和tab3
中确切更新的内容,因为你在问题中没有详细说明,但你的触发器可能看起来像
DELIMITER $$
CREATE TRIGGER tg_ai_tab1
AFTER INSERT ON tab1
FOR EACH ROW
BEGIN
UPDATE tab2
SET value2 = value2 + 1
WHERE tab2id = NEW.tab2id;
UPDATE tab3
SET value3 = value3 + 1
WHERE tab3id = NEW.tab3id;
END$$
DELIMITER ;
这是 SQLFiddle 演示
答案 1 :(得分:0)
我认为您不能使用1个SQL语句同时INSERT并执行UPDATE。您需要通过创建单独的SQL语句来分离执行。如果此信息不够,请查看此信息。它应该完全回答你的问题。