ホームページ >バックエンド開発 >PHPチュートリアル >PHP/MySQL に行を安全に挿入し、自動生成された ID を取得するにはどうすればよいですか?
新しい行を挿入し、その自動生成された 'id' フィールドを取得することは、データベース操作における重要なステップとなる可能性があります。単に行を挿入してクエリを実行するだけでも十分ですが、レコードが重複するという潜在的な問題が発生します。信頼性を確保するために、この課題を解決する効率的な方法を検討してみましょう。
mysqli_insert_id() の使用
mysqli_insert_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);
MySQL LAST_INSERT_ID() メソッド
もう 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())");
注意事項
各 MySQL 接続は個別の ID 追跡を維持し、リスクを排除することに留意することが重要です。 ID の競合。ただし、潜在的な問題を防ぎ、データの整合性を維持するには、これらの手法を使用することが不可欠です。
以上がPHP/MySQL に行を安全に挿入し、自動生成された ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。