2015-10-19 75 views
0

我有兩個表正在出售的產品。一個是實際產品的表格,另一個是訂購商品的表格。試圖創建一個觸發器,從另一個表更新一個表的數量

訂購商品表記錄itemId和銷售數量。

我想創建一個觸發器,它從訂購商品表中獲取數據,並更新該商品表的數量,該商品表的數量稱爲quantityInStock。

這是我寫的觸發器,但我不斷收到一個錯誤:

delimiter $$ 

create trigger stockUpdate 
after insert on orderItem 
for each row 
begin 
    update item(quantityInStock) 
    set quantityInStock = quantityInStock - orderItem.quantity  
    where itemId = orderItem.itemId; 
end$$ 

我的錯誤信息:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(quantityInStock) set quantityInStock = quantityInStock - orderItem.quantity w' at line 5

+0

@Quanlong謝謝。仍然在學習如何正確使用它。 –

回答

0

檢查更新的語法。

update table_name 
set column_name = ... 
where column_name = ...; 

您可以old.column_namenew.column_name分別參考前/新行值。

有些事情要考慮:

如何預防量變爲負值

+0

謝謝。我從更新後的「新」中刪除了(quantityInStock)。它的工作。 –

相關問題