私はそれらのいくつかのために悲惨なニーズに遭って以来、私はトリガについてすべてを検索してきましたが、どのくらい試しても問題ありませんMysqlワークベンチ6.3 CEは、 。私のサーバーは5.7で、リファレンスマニュアルを読みましたが、まだ動作させることはできません。Mysqlのトリガーは動作しません
DELIMITER $$
CREATE TRIGGER updateproductostock
BEFORE INSERT ON producto
FOR EACH ROW
BEGIN
NEW.prod_points = prod_price/2;
END$$
DELIMITER ;
私は、ID、説明、価格、株式やポイントを持っているproductoという名前のテーブルを持っています。私がしたいのは、ポイント値を価格値の半分にすることです。したがって、製品の価格が100ドルの場合、ポイントの値は50になります。
私はトリガーを作成できません、mysqlは私に構文エラーを与えます。
私もproductoの株式価値がテーブルために依存するトリガーを作成したいと思います。 注文に注文ID、商品ID、説明、数量があります。だから私は新しい注文を挿入するときにのproductoの株式の価値を変更したいと思う。 オーダーが同じ製品IDで製造されている場合は、製品の在庫にオーダーの数量を加算します。
また、mysqlは構文エラーを返します。
私はすべての場所を検索し、さまざまな構文を試しましたが、エラーが発生します。私のmysqlにはトリガーのオプションがあります。
または、私がやりたいことをやるための簡単な方法がありますか?助けてください
かわいいですか?それで良い方法がありますか?ストアドプロシージャ? – Eduardo
このように集計された値を最初に覚えている部分は、このようなデータに対して非常に頻繁なクエリを実行する必要がある大規模なデータベースを実行していて、データが矛盾するリスクを適切に管理している場合、それ以外の場合は、 'SELECT ...、SUM(c)from JOIN b ON a.id = b.a_id GROUP BYのようないくつかのクエリを書くことを避けるために、データが矛盾する可能性があります。 .. ..しかし、あなたがそのような価値を維持しようとするならば、トリガーはおそらく最も信頼できる方法の1つです(彼らが決して無効にならない限り)。 – Uueerdo