検索

ホームページ  >  に質問  >  本文

更新トリガー前の MySql および SQL 設定異なるテーブル/列の更新では、ストアド関数/トリガー内のテーブルを更新できない

n:m の関係を持つ 2 つのテーブル (A と C) を持つ結合テーブルがあります。結合テーブル (B) にもいくつかの情報が保持されます。

A ----- B ------ C

テーブル A には、何か変更があった場合に常に最新の状態に保ちたい when_modified 列があります。これには、表 B の変更が含まれる必要があります。

したがって、次のクエリを使用してテーブル B に更新前トリガーを用意します

リーリー

問題は、更新クエリ (B で結合) を実行すると、次のエラーが発生することです。

ストアド関数/トリガー内のテーブル 'A' は、このストアド関数/トリガーを呼び出すステートメントによってすでに使用されているため、更新できません。

ああああ

P粉677684876P粉677684876515日前623

全員に返信(1)返信します

  • P粉950128819

    P粉9501288192023-09-15 09:46:17

    UPDATE ステートメントを書き直す必要があります。

    トリガーで更新できない場合、これが発生する可能性があります。無限ループ###

    ただし、単純な変更でも同じ効果が得られます

    リーリー リーリー リーリー リーリー リーリー リーリー

    id変更時1 ###仕上げる### 2023-05-15 20:31:15 リーリー
    ###州###
    id
    ###ピース### 11 ######バイオリン######

    返事
    0
  • キャンセル返事