MySQL トリガーを使用して別のテーブルにデータを挿入するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-19 03:51:02
オリジナル
828 人が閲覧しました

How to Insert Data into Another Table Using MySQL Triggers?

MySQL トリガーのプログラミング: 別のテーブルへの挿入

MySQL トリガーは、特定のデータベース アクションでタスクを自動化する強力なメカニズムを提供します。これは、データの一貫性を維持し、複雑な操作を実行する場合に特に役立ちます。

別のテーブルへの挿入

行がテーブルに挿入されるときに、別のテーブルに行を挿入するには特定のテーブルでは、挿入後トリガーを定義できます。 MySQL でこれを行う方法は次のとおりです:

CREATE TRIGGER trigger_name
AFTER INSERT ON table_name
FOR EACH ROW
BEGIN
  -- Insert data into another table
  INSERT INTO other_table (column1, column2, ...)
  VALUES (NEW.column1, NEW.column2, ...);
END;
ログイン後にコピー

質問に答える

  • LAST_INSERT_ID(): はい、LAST_INSERT_ID()通常、最後に挿入されたものの ID を取得するために使用されます。 row.
  • 最後に挿入された行データの保存: NEW 疑似テーブルを使用して、最後に挿入されたコメント行のデータにアクセスできます。これには、挿入された行の列の値が含まれています。
  • ストアド プロシージャ: ストアド プロシージャはトリガーと組み合わせて使用​​できますが、この特定のタスクには必要ありません。
  • トリガー構造: 挿入後トリガーの基本構造は上に示されています。トリガーの一意の名前、トリガーが適用されるテーブル、および挿入された各行に対して実行するアクションを指定できます。

次の例:

CREATE TABLE comments (
  comment_id INT NOT NULL AUTO_INCREMENT,
  user_id INT NOT NULL,
  PRIMARY KEY (comment_id)
);

CREATE TABLE activities (
  activity_id INT NOT NULL AUTO_INCREMENT,
  comment_id INT NOT NULL,
  user_id INT NOT NULL,
  PRIMARY KEY (activity_id)
);

CREATE TRIGGER comments_after_insert
AFTER INSERT ON comments
FOR EACH ROW
BEGIN
  -- Insert into the activities table
  INSERT INTO activities (comment_id, user_id)
  VALUES (NEW.comment_id, NEW.user_id);
END;
ログイン後にコピー

このトリガーは、コメント テーブルに行が挿入されるたびにアクティビティ テーブルに行を自動的に挿入します。アクションは必要に応じて記録されます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート