ホームページ >データベース >mysql チュートリアル >SQL Server で最後に挿入された行 ID を取得するにはどうすればよいですか?

SQL Server で最後に挿入された行 ID を取得するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-13 13:26:43931ブラウズ

How to Get the Last Inserted Row ID in SQL Server?

SQL Server で最後に挿入された行の ID を取得する

SQL Server は、レコード挿入後に新しく作成された ID を取得する合理的なアプローチを提供します。これは、IDENTITY データ型を使用するテーブルに特に役立ちます。

方法:

IDENTITY 列の活用

INT IDENTITY (または BIGINT IDENTITY) 列を持つテーブルの場合は、次の SQL ステートメントを使用します。

<code class="language-sql">INSERT INTO [dbo].[YourTable] ([columns...])
VALUES ([..........])

SELECT SCOPE_IDENTITY();</code>

説明:

  • INSERT ステートメントは新しい行を追加します。
  • SCOPE_IDENTITY() は、現在の実行内で最後に生成された IDENTITY 値を返します。

重要な注意事項:

この方法は、実行ごとに 1 行を挿入する場合に最も効果的です。 複数の行を同時に挿入すると、予期しない結果が生じる可能性があります。

代替アプローチ:

SCOPE_IDENTITY() は広く使用されていますが、他のオプションも存在します。

  • @@IDENTITY: 他のセッションまたはスコープでの後続の操作に関係なく、現在のセッションで最後に生成された IDENTITY 値を返します。
  • IDENT_CURRENT('table_name'): 指定されたテーブルで割り当てがスケジュールされている次の IDENTITY 値を取得します。 これは最後に挿入された行の ID ではありません。異なる可能性があります。

これらの方法の詳細な比較とその微妙な違いについては、Pinal Dave による洞察力に富んだ記事を参照してください: https://www.php.cn/link/c89f28fe875efcf36c8973a7f81bfbb0

以上がSQL Server で最後に挿入された行 ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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