ホームページ >バックエンド開発 >PHPチュートリアル >PHP/MySQL に行を安全に挿入し、自動生成された ID を取得するにはどうすればよいですか?

PHP/MySQL に行を安全に挿入し、自動生成された ID を取得するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-10 21:29:09630ブラウズ

How Can I Safely Insert a Row in PHP/MySQL and Retrieve Its Auto-Generated ID?

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

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