触发在mysql中更新后更新不同的表

时间:2015-10-24 00:01:15

标签: mysql sql triggers mysql-workbench

我需要为我的catalog表编写一个触发器,其结构如下所示。 Structure of Table Catalog

我是否可以编写触发器,以便在目录中的项目从available设置为backordered时,将order状态设置为delayed。基本上,您需要在order表中更新命令后更新catalog表。

order表的结构:

phone, aname, config, o_time, quantity, price, status

1 个答案:

答案 0 :(得分:1)

在这里做一些假设,但不应该太过适应它。

CREATE TRIGGER `catalog_AFTER_UPDATE` 
AFTER UPDATE ON `catalog` 
FOR EACH ROW
BEGIN
    if (old.status = 'available' and new.status = 'backordered') then
        update _order
        set _order.status = 'delayed'
        where _order.aname = old.aname
        and _order.config = old.config;
    end if;
END

这应该是你正在寻找的。 order是关键字;不确定是否适合你。我显然使用了_order