私は2つのテーブルを持っています:
- 注文 - ショッピング カートのすべての情報を保存します
- ITEMS - 店舗 ID | スコア | 製品 | 価格 | 販売価格 | 在庫
以下のトリガーを思いつきました.「注文」のデータベースに注文が挿入されたときに、「アイテムテーブル」の「在庫」数量を-1で更新したいです。
CREATE TRIGGER `order_updater` AFTER INSERT ON `orders`
FOR EACH ROW UPDATE items
SET inventory = inventory - 1
WHERE id = new.id
END;
phpMyAdmin のトリガーに追加しようとすると、次のメッセージが表示され続けます。
リクエストの処理中に 1 つ以上のエラーが発生しました:
次のクエリは失敗しました: "CREATE TRIGGER orer_update
BEFORE INSERT ON items
FOR EACH ROW CREATE TRIGGER order_updater
AFTER INSERT ON orders
FOR EACH ROW UPDATE items SET inventory = inventory - 1 WHERE id = new.id END;"
MySQL は次のように述べています#1303 - Can't create a TRIGGER from within another stored routine
。
- これは、このトリガーで実行できますか?
- トリガーは特定のアイテムまたはすべてのアイテムを更新しますか?
- 製品の .htm ページにトリガーを追加できますか、それとも phpMyAdmin に追加する必要がありますか?
私はこれが初めてなので、コードが完全に正しいかどうかはわかりません。ポインタをいただければ幸いです。
*更新: phpMyAdmin : 次のページからコピーしました:バージョン情報: 4.0.8、最新の安定バージョン: 4.0.9 *