2012-09-08 69 views
1

我寫了一個觸發器是這樣的:在MySQL中使用的列從另一個表if語句

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在字段列表中

任何想法如何解決這個問題?

+0

你確定'unit-new'不應該是'unit_new'嗎?你可以顯示item_present表的結構嗎? – pixeline

+0

bro thats unit(minus)new.unit ..... unit是來自item_present表,new.unit來自bus_repair表....現在我已經檢查了沒有任何if語句的觸發器,它工作正常。但是當我包括如果聲明它顯示錯誤。我相信問題在於如果部分。 –

回答

0

將您的UPDATE item_preset語句移到IF上方,並將IF中的IF更改或重新定義爲條件。您需要先更新或選擇表格item_present。

+0

thnks ...我明白了...... –

相關問題