如何在另一个表中插入行后如何更新两个表

时间:2014-01-21 06:49:04

标签: mysql triggers

在我的服务器上,插入一个表后,我想更新另外两个表。我怎么能用触发器做到这一点?

表一有两列tab3id,tab3id。

在tab1上插入后,我想用tab2id更新tab2中的行,使用tab3id更新tab3中的行。

2 个答案:

答案 0 :(得分:2)

很难说明你要在表tab2tab3中确切更新的内容,因为你在问题中没有详细说明,但你的触发器可能看起来像

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语句来分离执行。如果此信息不够,请查看此信息。它应该完全回答你的问题。

ACCESS/SQL: How to INSERT INTO/UPDATE at the same time?

相关问题