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

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

Mary-Kate Olsen
リリース: 2024-10-25 04:51:29
オリジナル
722 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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