ホームページ > データベース > mysql チュートリアル > MySQL の ON DUPLICATE KEY UPDATE は、影響を受ける行 ID をどのように返すことができますか?

MySQL の ON DUPLICATE KEY UPDATE は、影響を受ける行 ID をどのように返すことができますか?

Susan Sarandon
リリース: 2024-12-16 18:49:18
オリジナル
451 人が閲覧しました

How Can MySQL's ON DUPLICATE KEY UPDATE Return the Affected Row ID?

MySQL ON DUPLICATE KEY は最後に挿入または更新された ID を返すことができますか?

MySQL では、INSERT ... ON DUPLICATE KEY UPDATE ステートメント単一のクエリ内で挿入または更新操作を行うことができます。ただし、影響を受ける行の ID を取得するのは困難な場合があります。

通常、LAST_INSERT_ID() 関数は、新しく挿入されたレコードの ID を返します。更新操作の後は、意味がありません。これを解決するには、MySQL ドキュメントで説明されているように、LAST_INSERT_ID() を使用した式を利用できます。

具体的には、id フィールド (この例では AUTO_INCREMENT カラム) を更新し、LAST_INSERT_ID(expr) を含む式を作成します。 )意味を持たせるための表現として

例:

ID 列が AUTO_INCREMENT であるテーブルを考えてみましょう。行を更新または挿入し、影響を受ける ID を取得するには:

INSERT INTO table (a, b, c) VALUES (1, 2, 3)
ON DUPLICATE KEY UPDATE id = LAST_INSERT_ID(id), c = 3;
ログイン後にコピー

このアプローチでは、挿入操作または更新操作に関係なく、LAST_INSERT_ID() によって影響を受ける行の ID が提供されるため、取得するための 2 番目のクエリが不要になります。 ID。

以上がMySQL の ON DUPLICATE KEY UPDATE は、影響を受ける行 ID をどのように返すことができますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート