ホームページ >データベース >mysql チュートリアル >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 サイトの他の関連記事を参照してください。