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