ホームページ  >  記事  >  データベース  >  単一の MySQL クエリで挿入された行値を取得するにはどうすればよいですか?

単一の MySQL クエリで挿入された行値を取得するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-25 08:05:281027ブラウズ

How to Retrieve Inserted Row Values in a Single MySQL Query?

単一の MySQL クエリで挿入された行の値を取得する

MySQL テーブルに新しい行を挿入する場合、多くの場合、さらなる処理のために新しく挿入された値を取得する必要があります。参照しています。単一のクエリで行を挿入し、同時にその内容を取得する方法を次に示します。

提供されたクエリ:

INSERT INTO `items` (`item`, `number`, `state`) 
(SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3')

は、item_bug テーブルからデータを選択して、items テーブルに行を挿入します。 id は 3 に等しい。ただし、このクエリでは、新しく挿入されたレコードを取得する方法が提供されません。

単一のクエリで挿入と取得の両方を実現するには、LAST_INSERT_ID() 関数を利用できます。この関数は、最後に挿入された行の ID を返します。これを追加のクエリと組み合わせることで、挿入されたレコードの詳細を取得できます。

変更されたクエリは次のとおりです:

INSERT INTO `items` (`item`, `number`, `state`) 
(SELECT '3', `number`, `state` FROM `item_bug` WHERE `id`='3');

SELECT * FROM `items` WHERE `id` = LAST_INSERT_ID();

このクエリは、最初に items テーブルに行を挿入します。次に、SELECT クエリを実行します。これにより、最後に挿入された ID と等しい ID を持つ行の項目テーブルからすべての列が取得されます。

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

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