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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-11-15 04:01:021060ブラウズ

How Can You Insert Data into Multiple Tables Simultaneously in MySQL?

複数のテーブルに同時にデータを挿入する

この質問には、1 つのクエリで 2 つの別個のテーブル (訪問と登録) にデータを挿入することが含まれます。挿入プロセスで望ましい結果は次のとおりです。

INSERT INTO `visits` as v ,`registration` as v
(v.`visit_id`,v.`card_id`,r.`registration_id`, r.`type`, r.`timestamp`, r.`visit_id`) 
VALUES (NULL, 12131141,NULL, UNIX_TIMESTAMP(), v.`visit_id`);

MySQL の制限

ただし、MySQL では、単一のテーブルで複数のテーブルにデータを挿入することはできません。クエリ。この制限により、望ましい目標を達成する際に課題が生じます。

解決策

この制限を克服するには、次の 2 つの代替アプローチが提案されています。

  1. 別々のクエリを実行: 最初のアプローチでは、2 つの別々の INSERT クエリを実行します。バッチとして。これにより、データが両方のテーブルに確実に挿入されますが、単一トランザクションのアトミック性は提供されません。
  2. ストアド プロシージャを作成する: 2 番目の方法では、次の内容を含むストアド プロシージャを作成します。 2 つの INSERT ステートメント。このストアド プロシージャを呼び出すことで、両方の挿入を 1 つのトランザクション内で実行でき、データの一貫性が確保されます。

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

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