PTS 更新の MySQL トリガーが「テーブル pos_table を更新できません...」エラーで失敗するのはなぜですか?

Susan Sarandon
リリース: 2024-11-06 15:11:03
オリジナル
197 人が閲覧しました

Why Does My MySQL Trigger for Updating PTS Fail with

PTS 列を更新するための機能しない MySQL トリガーのトラブルシューティング

ユーザーは、一見単純な MySQL トリガーが実行に失敗するという不可解な問題に直面しています。彼らに助けを求めるよう促します。トリガーの目的は、「played_games」列の変更に基づいて「pos_table」テーブルの「PTS」列を更新することです。

コードを詳細に検査すると、「played_games」列の変更時にトリガーが正しく機能することがわかります。列が変更されます。ただし、さらにトラブルシューティングを行うと、次のエラー メッセージが表示されます。「このストアド関数/トリガーを呼び出したステートメントによってすでに使用されているため、ストアド関数/トリガーのテーブル pos_table を更新できません。」

このエラーは、次のことを示唆しています。 MySQL ストアド関数とトリガーの制限が、望ましい動作を妨げている可能性があります。 MySQL のドキュメントによると、このような関数やトリガーは、それらを呼び出したステートメントによって読み取りまたは書き込みに同時に使用されるテーブルを変更することはできません。

潜在的な解決策は、トリガーのタイプを「BEFORE INSERT」に変更し、

さらに、ユーザーの意図した計算は、格納された列を介するのではなく、表示時に直接実行できるため、コードが簡素化され、トリガーの問題が排除されます。

以上がPTS 更新の MySQL トリガーが「テーブル pos_table を更新できません...」エラーで失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!