私は外来キーについて学んでいます。私はこれに私のテーブルを簡素化しています:外部キーで1つのテーブルの合計を更新する
両方のテーブルは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の外部キーの作成方法は分かっていますが、 "math"要素を追加する方法や可能性がありません。
ありがとうございます!
+1しかし、これは一行のステートメントなので、ここでは 'BEGIN'と' END'は必要ありません。 – netcoder
@netcoderあなたが正しいことはもちろんですが、脳とのやりとりをしなくても、トリガーの冒頭に私の指が "それぞれの始まりに来る"と思っています。コードを更新しない - これはあなたのコメントの文脈を殺します。 –