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

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
      最新のダウンロード
      詳細>
      ウェブエフェクト
      公式サイト
      サイト素材
      フロントエンドテンプレート
      私たちについて 免責事項 Sitemap
      PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!