自動 ID 取得を使用した MySQL 挿入
MySQL テーブルに新しい行を挿入する場合、多くの場合、新しく割り当てられた 'id を取得する必要があります。 ' 価値。通常、「id」フィールドは自動的にインクリメントされ、各行の一意性が確保されます。ただし、行の挿入と「id」のフェッチの間に遅延がある場合は問題になる可能性があります。
この問題を軽減する 1 つの方法は、MySQL の INSERT ... SELECT ステートメントを利用することです。このステートメントを使用すると、SELECT クエリから行を挿入し、単一トランザクションで「id」値を取得できます。
$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db'); mysqli_query($link, "INSERT INTO mytable SELECT 1, 2, 3, 'blah' FROM DUAL"); $id = mysqli_insert_id($link);
この例では、INSERT ... SELECT ステートメントは mytable に行を挿入します。一方、mysqli_insert_id() 関数は新しく挿入された行の 'id' 値を取得します。
別のアプローチは、使用することです。 MySQL の LAST_INSERT_ID() 関数。この関数は、現在の接続に対して最後に挿入された行の「id」値を返します。ただし、LAST_INSERT_ID() 値は接続固有であるため、INSERT 操作を実行したのと同じ接続内でこの値を使用することが重要であることに注意することが重要です。
以上がMySQL 挿入後に自動生成された ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。