トリガーを作成する方法の良い例がたくさんあります。これは私の最初の検索でポップアップされた:https://www.sitepoint.com/how-to-create-mysql-triggers/。
ご注文額を更新/削除できるかどうかを忘れないようにしてください。
しかし、私はトリガーを自分ですばらしいと考えても、ほとんど使用しません。主に彼らを忘れるのは簡単ですから。それから、あなたはコードを徹底的に調べて、なぜそれがどんなふうに動作しているのかを知ることができます。コード自体には答えがありません。答えはデータベースに隠されています。それとも、まったく逆のことですが、引き金がそこにあり、それがあなたのためにあなたの仕事をする魔法のブラックボックスであると考えていることが分かります。したがって、あなたはその機能を二重チェックしないでください。逆効果の可能性があります。あなたの代わりにそのため
https://stackoverflow.com/a/460343/7081773
(あなたが唯一のデータベースですべてをやっている場合を除き)、私が注文への挿入を実行するコードにロジックを移動します。もちろん、注文修正のための関数を作成する必要があります。これらの関数は在庫の変更も処理します。あなたは直接SQLクエリの代わりにそれらを使用します。それはあなたがコードベースをより良くコントロールできるようにするでしょう。
また、在庫自体を変更しないでください。アプリケーションの残りの在庫を読んでいるときは、注文額を差し引いてください(多分、そのためのビューを作成してください)。在庫金額は、実際に変更されたとき(商品出荷時など)にのみ変更してください。あなたが本当に在庫量を知っているかのように、あなたはどれだけ注文され、どれくらいの在庫があるかを常に計算することができます。もちろん、あなたが始めたのと同じように、別の方向に進むことができます。それも動作します。私は通常、このようにしているので、ちょっとだけ論理的に思えます...