我剛剛學習外鍵。我正在簡化我的表到這:使用外鍵在一個表中更新總數
Table: item
Columns: item_id (PK), qty
Table: item_change_log
Columns: id (PK), item_id (indexed), change_value
這兩個表都是INNODB。
每次在項目層面做出改變,改變的數量被記錄在item_change_log.change_value
。我想change_value自動添加/減去item.qty
。
預期的行爲:
用戶創建項目X. item.item_id = X, qty = 0
。 item_change_log中尚未記錄任何記錄。 用戶將手頭的X數量改爲2. item_change_log: id = 1, item_id = X, change_value = 2
。這個change_value通過外鍵自動增加item.qty = 2
。
我知道如何使該項目的ID看到對方的外鍵,但我不知道如何添加「數學」元素;如果這是可能的。
謝謝!
+1但是沒有必要'BEGIN'和'END'在這裏,因爲它是一個行語句。 – netcoder 2012-01-16 16:54:33
@netcoder當然你是對的,我想我的手指在觸發開始時鍵入「FOR EACH ROW BEGIN」,而沒有與大腦交互。不更新我的代碼 - 這將殺死你的評論的上下文。 – 2012-01-16 17:03:46