使用mysql if语句中另一个表的列

时间:2012-09-08 06:48:08

标签: mysql sql sql-update

我写了一个类似这样的触发器:

CREATE TRIGGER `update_after_itemPresent` AFTER INSERT ON `bus_repair`
FOR EACH ROW begin
    IF NEW.unit <> `item_present`.`unit` THEN
        update item_present 
        set unit = unit-new.unit 
        where item_present.item_group_id = new.item_group_id;
    END IF;
end

但是当我在bus_repair表中插入新行时,会出现错误:

  

字段列表中的未知表item_present

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

将UPDATE item_preset语句移动到IF和UPDATE内部的IF上方或作为条件重新定义。您需要首先更新或选择表item_present。