複数レコード INSERT ステートメントでの LAST_INSERT_ID() の動作
INSERT ステートメントは 1 回の操作で複数のレコードを挿入できるため、データベースの効率が向上します。修正。ただし、ilyen シナリオにおける LAST_INSERT_ID() の動作は、単一レコード挿入の操作とは異なります。
MySQL ドキュメントで強調されているように、LAST_INSERT_ID() は 最初 複数レコードの INSERT ステートメントに挿入された行。この動作は、このようなステートメントを他のサーバー上で再現しやすくし、分散環境でも一貫性を確保するように設計されています。
例
次の例を考えてみましょう:INSERT INTO people (name,age) VALUES ('William',25), ('Bart',15), ('Mary',12);
実際的な意味
生成された値を適切に処理するには、この動作を理解することが重要です。複数レコードの INSERT ステートメントを使用するコード内。このような場合、最後に挿入された ID を取得するために LAST_INSERT_ID() に依存することはお勧めできません。代わりに、影響を受ける行数を取得したり、自動インクリメント値を明示的に指定したりするなどの代替方法を、正確なレコード取得のために考慮する必要があります。以上がLAST_INSERT_ID() は複数レコードの INSERT ステートメントでどのように動作しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。