0
私はドライバテーブルに他のテーブルの合計ポイントを持つ非正規化データベースを持っています。ポイントがあるテーブルを更新するときに、テーブルドライバの合計ポイントを更新したいと思います。アップデート時のMySQLアップデート
このような何か:
CREATE TRIGGER sanciones_trigger BEFORE UPDATE ON points
FOR EACH ROW
UPDATE drivers,
( SELECT pID,SUM(numpoints) AS total_points
FROM drivers
INNER JOIN points ON points.driverID = drivers.pID
GROUP BY drivers.pID
) sum
SET drivers.total_points= sum.total_points
WHERE drivers.pID = sum.pID;
しかし、私は、トリガー内で更新傾けます。私も手技で試しましたが、どうやってそれを行うのか本当に分かりません。
どうすれば解決できますか?
doesnt work。 エラーコード:1442.ストアドファンクション/トリガーでテーブル 'ドライバ'を更新できません。このストアドファンクション/トリガーを呼び出したステートメントですでに使用されているためです。 私はこれがUPDATEトリガーでUPDATEできないと思います。 –
通常、これはトリガーを持つ同じテーブルでない限り可能です。この場合、 'ポイント'テーブルにトリガがあり、 'ドライバ'テーブルが更新されます。これはあなたが試みた完全な引き金ですか?追加のコードはありますか? – Aruna
これは完全に動作します。私は運転手の街を使って何かをアップアップさせていた。それは私ができないものです。 ありがとうございます。 –