MySql エラー: ストアド関数/トリガー内のテーブルは、このストアド関数/トリガーを呼び出すステートメントによってすでに使用されているため、更新できません
P粉668804228
P粉668804228 2023-10-15 23:34:43
0
2
662

MySQL クエリを実行しています。ただし、フォーム入力から新しい行を追加すると、次のエラーが発生します:

リーリー

コードから:

リーリー

このエラーは何を意味しますか?

P粉668804228
P粉668804228

全員に返信(2)
P粉573809727

正しい構文は次のとおりです:

リーリー
いいねを押す +0
P粉921165181

INSERT トリガーの起動中はテーブルを変更できません。 INSERT は一部のロック操作を実行する可能性があり、デッドロックが発生する可能性があります。さらに、トリガーからテーブルを更新すると、無限再帰ループで同じトリガーが再度起動されます。これらの理由は両方とも、これを実行できない MySQL 理由です。

ただし、達成したい内容に応じて、

NEW.fieldname を使用して新しい値にアクセスすることも、古い値 にアクセスすることもできます (UPDATE ## を実行する場合)。 #--OLD

full_brand_name

という行があり、small_name フィールドの最初の 2 文字を短縮名として使用したい場合は、次のように使用できます。 リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート