warehouse
ストア内の記事に関する情報(外部キーおよび数量としての記事ID)を含むテーブルがあります。次に、別のテーブルがあります。このテーブルshoppinglist
には、クライアントID、記事ID、および数量があります。たとえば、クライアントが3つの記事を購入したいが、利用できる記事は1つだけだとします。trigger
買いすぎを防ぐのに役立つ書き方は?
私はこれを試しました:
DELIMITER $$ CREATE TRIGGER check BEFORE INSERT ON shoppinglist FOR EACH ROW BEGIN IF warehouse.quantity < shoppinglist.quantity THEN CALL fail('You cant buy that much'); END IF; END $$ DELIMITER;
しかし、これはうまくいかないようです。つまり、私がするとき:
INSERT INTO shoppinlist (clients_id, article_id, quantity) VALUES (1, 2, 100);
倉庫にid=2の記事が2つしかない場合は、問題ありません。私は何を間違えましたか?