ホームページ >データベース >mysql チュートリアル >MySQL 挿入後に自動生成された ID を効率的に取得するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。