これが私がやろうとしていることです:
テーブル ACCOUNTS
に新しい INSERT
がある場合、status='E'phpcnend 行を設定して
ACCOUNTS
を更新する必要があります。ここで pk
= NEW.edit_on
cphpcn は、特定の (古い) アカウントが編集されたことを示します。
リーリー
Requirement は 私の操作 新しく挿入された 列ではなく、 既存の 列であり、 pk = NEW.edit_on
< ; / p>
ただし、同じテーブルを更新できません: テーブル ACCOUNTS ... は、このトリガーを呼び出したステートメントによって使用されています
解決策を提案してください
PS:同じテーブルの更新後にトリガーでテーブルを更新し、同じテーブルトリガーmysqlに挿入し、挿入後のトリガーを使用して同じテーブルで更新し、テーブルに挿入した後にmysqlトリガーを挿入して更新しましたが、私の質問には答えていないようです。 。
######編集######
アカウントテーブル:
リーリー
P粉0638625612023-10-17 18:44:15
これは、挿入時に同じテーブル内の行を更新する方法です
activationCode
と email
はテーブル USER
の行です。
挿入時に、MySQL によって動的に作成される activationCode
の値を指定しませんでした。
username
を MySQL ユーザー名に変更し、db_name
をデータベース名に変更します。
P粉2621135692023-10-17 17:55:58
これらすべてをトリガーで実行することはできないようです。 ドキュメント によると:
ストアド プロシージャを使用すると、変更 (挿入と更新) を手動でコミットします。 MySQL でこれを実行したことはありませんが、この記事が良い例のようです。