ホームページ >データベース >mysql チュートリアル >MySQL の ON DUPLICATE KEY を使用して最後の挿入/更新 ID を取得する方法は?

MySQL の ON DUPLICATE KEY を使用して最後の挿入/更新 ID を取得する方法は?

DDD
DDDオリジナル
2024-12-10 01:34:10399ブラウズ

How to Retrieve the Last Insert/Update ID with MySQL's ON DUPLICATE KEY?

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

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