ホームページ >データベース >mysql チュートリアル >INSERT 後にトリガーを使用して同じ MySQL テーブルを更新するにはどうすればよいですか?

INSERT 後にトリガーを使用して同じ MySQL テーブルを更新するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-28 11:54:16316ブラウズ

How Can I Update the Same MySQL Table After an INSERT Using a Trigger?

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

データベース管理の領域内で、テーブルに対するアクションに後続のアクションが必要なシナリオが発生します。同じテーブルに対する更新は珍しいことではありません。この特定の例では、これをトリガー内で実現することが課題となります。

ACCOUNTS テーブルの場合を考えてみましょう。新しい行を挿入すると、主キーがその値と一致する別の行に対応する更新が必要になります。 NEW.edit_onの。ただし、ドキュメントに記載されているように、呼び出しステートメント内で既に使用されているテーブルをトリガー内で変更することは禁止されています。

この制限を克服するには、ストアド プロシージャを利用することをお勧めします。このストアド プロシージャは、最初にターゲット テーブルに挿入または更新し、その後追加の行を更新します。これはすべてトランザクションのコンテキスト内で行われます。変更を手動でコミットすると、両方のアクションを正常に実行できます。

このようなストアド プロシージャの作成の複雑さは特定のデータベース システムによって異なる場合がありますが、より詳細に理解するには、提供されている例を参照してください。このアプローチは、トリガーによって課せられる制限を効果的に回避し、複雑なテーブル操作シナリオの実現を可能にします。

以上がINSERT 後にトリガーを使用して同じ MySQL テーブルを更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。