検索

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

MySQL - 挿入操作後に同じテーブルを更新するトリガー

これが私がやろうとしていることです:

テーブル ACCOUNTS に新しい INSERT がある場合、status='E'phpcnend 行を設定して ACCOUNTS を更新する必要があります。ここで pk = NEW.edit_on cphpcn は、特定の (古い) アカウントが編集されたことを示します。

リーリー

Requirement私の操作 新しく挿入された 列ではなく、 既存の 列であり、 pk = NEW.edit_on< ; / p>

ただし、同じテーブルを更新できません: テーブル ACCOUNTS ... は、このトリガーを呼び出したステートメントによって使用されています

解決策を提案してください

PS:同じテーブルの更新後にトリガーでテーブルを更新し、同じテーブルトリガーmysqlに挿入し、挿入後のトリガーを使用して同じテーブルで更新し、テーブルに挿入した後にmysqlトリガーを挿入して更新しましたが、私の質問には答えていないようです。 。


######編集######

アカウントテーブル:

リーリー

P粉419164700P粉419164700414日前696

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

  • P粉063862561

    P粉0638625612023-10-17 18:44:15

    これは、挿入時に同じテーブル内の行を更新する方法です

    activationCodeemail はテーブル USER の行です。 挿入時に、MySQL によって動的に作成される activationCode の値を指定しませんでした。

    username を MySQL ユーザー名に変更し、db_name をデータベース名に変更します。

    リーリー

    返事
    0
  • P粉262113569

    P粉2621135692023-10-17 17:55:58

    これらすべてをトリガーで実行することはできないようです。 ドキュメント によると:

    この回答に基づくと、次のようにする必要があるようです:

    ストアド プロシージャを使用すると、変更 (挿入と更新) を手動でコミットします。 MySQL でこれを実行したことはありませんが、

    この記事が良い例のようです。

    返事
    0
  • キャンセル返事