ホームページ >データベース >mysql チュートリアル >MySQL の ON DUPLICATE KEY を使用して最後の挿入/更新 ID を取得する方法は?
MySQL ON DUPLICATE KEY: 最後の挿入/更新 ID の取得
ON DUPLICATE KEY を使用して INSERT または UPDATE ステートメントを実行する場合、MySQL の insert_id () 関数は通常、挿入された行の ID を返します。ただし、ステートメントが代わりに既存の行を更新する場合、このアプローチには問題があります。
この制限を克服し、複数のクエリを実行せずに挿入された行と更新された行の両方の ID を取得するために、MySQL は次の解決策を提供します。
MySQL のドキュメントで述べられているように、式を LAST_INSERT_ID() に渡すことで、更新に意味のあるものにすることができます。具体的には、ON DUPLICATE KEY を使用するときに最後の挿入 ID または更新 ID を取得する場合は、次の手法を使用できます。
「id」が AUTO_INCREMENT 列であると仮定して、INSERT ステートメントを変更して次の内容を含めます。
INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE>
この例では、挿入の場合、LAST_INSERT_ID() は新しく作成された行の ID を返します。更新の場合は、更新された行の ID を返し、両方のシナリオで最後に挿入または更新された ID を取得するための一貫した方法を効果的に提供します。
以上がMySQL の ON DUPLICATE KEY を使用して最後の挿入/更新 ID を取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。