ホームページ > データベース > mysql チュートリアル > MySQL の複数のテーブルにデータを挿入するにはどうすればよいですか?

MySQL の複数のテーブルにデータを挿入するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-10 18:26:02
オリジナル
375 人が閲覧しました

How to Insert Data into Multiple Tables in MySQL?

MySQL を使用した複数のテーブルへのデータの挿入

単一のクエリを使用して MySQL の複数のテーブルに同時にデータを挿入することは実現できません。ただし、これを実現する別のアプローチもあります。

バッチ処理

複数の INSERT ステートメントをバッチとして実行できます。

BEGIN;
INSERT INTO visits (visit_id, card_id) VALUES (NULL, 12131141);
INSERT INTO registration (registration_id, type, timestamp, visit_id)
VALUES (NULL, 'in', UNIX_TIMESTAMP(), LAST_INSERT_ID());
COMMIT;
ログイン後にコピー

ストアド プロシージャ

または、両方の INSERT をカプセル化するストアド プロシージャを作成することもできます。ステートメント:

CREATE PROCEDURE insert_into_multiple_tables(
  IN card_id INT
)
BEGIN
  INSERT INTO visits (visit_id, card_id) VALUES (NULL, card_id);
  INSERT INTO registration (registration_id, type, timestamp, visit_id)
  VALUES (NULL, 'in', UNIX_TIMESTAMP(), LAST_INSERT_ID());
END
ログイン後にコピー

その後、目的のカード ID を使用してストアド プロシージャを実行できます:

CALL insert_into_multiple_tables(12131141);
ログイン後にコピー

トランザクション制御

データの整合性を確保するには、次のようにします。バッチまたはストアド プロシージャをトランザクションでラップできます:

BEGIN TRANSACTION;
-- Execute INSERT statements here
COMMIT;
ログイン後にコピー

いずれかの INSERT ステートメントが失敗した場合、トランザクションはロールバックされ、影響を受けるすべてのテーブルのデータの一貫性が確保されます。

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

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