ホームページ >データベース >mysql チュートリアル >単一の MySQL クエリで行を挿入し、データを取得するにはどうすればよいですか?

単一の MySQL クエリで行を挿入し、データを取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-25 04:51:29721ブラウズ

How Can You Insert Rows and Retrieve Data in a Single MySQL Query?

MySQL での行の挿入と新しいデータの取得

多くのタスクでは、データベースに新しいレコードを追加し、その後それらのレコードにアクセスする必要があります。従来、これには個別の挿入操作と取得操作が必要でした。しかし、両方のタスクを 1 つのクエリで実行できることをご存知ですか?

値のアトミックな挿入と選択

重要なのは、LAST_INSERT_ID() 関数の使用にあります。 insert ステートメントを実行した後、この関数は新しく挿入された行に対して生成された ID を返します。

例:

質問に示されている例を考えてみましょう:

<code class="sql">INSERT INTO `items` (`item`, `number`, `state`) 
(SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3')</code>

挿入された行の ID を取得し、その他の値を取得するには、次のクエリを実行できます。

<code class="sql">SELECT * FROM `items` WHERE `id`= LAST_INSERT_ID()</code>

このクエリは、対応する items テーブルから行全体をフェッチします。最後に挿入された行。

利点:

  • 両方のタスクを単一のクエリで実行: パフォーマンスが向上し、コードの複雑さが軽減されます。
  • アトミック操作: 2 つのステップが 1 つのトランザクションで実行され、データの整合性が保証されます。
  • データの取得が簡素化されます: 開発者は暗記することを心配する必要がありませんまたは、クエリ コンテキストの外部で行 ID を管理します。

以上が単一の MySQL クエリで行を挿入し、データを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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