ホームページ > バックエンド開発 > PHPチュートリアル > PHP/MySQL で新しく挿入された行の ID を取得する方法は?

PHP/MySQL で新しく挿入された行の ID を取得する方法は?

Patricia Arquette
リリース: 2024-12-04 20:05:19
オリジナル
735 人が閲覧しました

How to Retrieve the ID of a Newly Inserted Row in PHP/MySQL?

PHP/MySQL で挿入された行の ID を取得する

自動インクリメント ID フィールドを持つ MySQL テーブルに行を挿入する場合、後続の操作のために新しく生成された ID。

競合の回避条件

ID を取得する 1 つの方法は、挿入された情報と一致する行をデータベースにクエリすることです。ただし、この方法では、クエリが実行される前に別の行が挿入される競合状態が発生し、結果が不正確になります。

mysqli_insert_id() の使用

信頼できる解決策は、MySQL の LAST_INSERT_ID( ) 関数。 PHP の mysqli_insert_id() メソッドは、現在の接続に対して最後に生成された ID を返します。

$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db');
mysqli_query($link, "INSERT INTO mytable (1, 2, 3, 'blah')");
$id = mysqli_insert_id($link);
ログイン後にコピー

1 つの操作で複数のクエリ

別のアプローチは、1 つの操作で複数のクエリを実行することです。 MySQL の LAST_INSERT_ID() メソッドを利用します。これにより、複数のテーブルが関係する場合でも ID が正しく割り当てられるようになります。

mysqli_query($link, "INSERT INTO my_user_table ...;
  INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())");
ログイン後にコピー

このメソッドにより、競合状態を心配する必要がなくなり、挿入された行の ID を取得する信頼性の高い方法が提供されます。

以上がPHP/MySQL で新しく挿入された行の ID を取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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