ホームページ >データベース >mysql チュートリアル >MySQL 挿入後に自動生成された ID を効率的に取得するにはどうすればよいですか?

MySQL 挿入後に自動生成された ID を効率的に取得するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-10 15:08:14950ブラウズ

How to Efficiently Retrieve Auto-Generated IDs After MySQL Insertion?

MySQL: 行の挿入と自動生成 ID の取得

自動インクリメント ID を使用して MySQL テーブルに新しい行を挿入する場合フィールドでは、新しく生成された ID の取得は、データの整合性と関係を維持するために不可欠な場合があります。この記事では、行を挿入し、その ID を効率的に取得する 2 つの信頼できる方法について説明します。

方法 1: mysqli_insert_id() を使用する

PHP では、mysqli_insert_id() 関数が提供します。行を挿入した後に自動生成された ID を取得する簡単な方法です。この関数は、指定された接続に対して生成された最新の ID を返すため、挿入後すぐにアクセスできるようになります。

$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db');
mysqli_query($link, "INSERT INTO mytable (...)");
$id = mysqli_insert_id($link);

方法 2: 単一クエリのアプローチ

もう 1 つの効率的な方法には、LAST_INSERT_ID() 関数を使用して、行の挿入と ID 取得の両方を単一の MySQL クエリに結合することが含まれます。このアプローチにより、両方の操作が 1 つのトランザクションの一部として確実に実行され、競合状態や ID の重複の可能性が排除されます。

mysqli_query($link, "INSERT INTO my_user_table (...)...;
INSERT INTO my_other_table (user_id) VALUES (LAST_INSERT_ID())");

注: 各データベース接続は、独自のシーケンスを維持します。

これらの方法を採用すると、自信を持って MySQL テーブルに行を挿入し、自動生成された ID を取得できます。パフォーマンスやデータの整合性を損なうことなく ID を取得します。

以上がMySQL 挿入後に自動生成された ID を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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