SQL Server で新しく作成されたレコードの ID へのアクセス
このガイドでは、SQL Server 内の aspnet_GameProfiles
テーブルに最後に挿入されたレコードの ID を取得する方法を説明します。 最適な方法は SQL Server のバージョンによって異なります。
SQL Server 2005 以降 (INSERT トリガーなし):
新しい SQL Server バージョンの最も効率的なアプローチは、OUTPUT
ステートメント内で直接 INSERT
句を利用することです。
INSERT INTO aspnet_GameProfiles (UserId, GameId) OUTPUT INSERTED.ID VALUES (@UserId, @GameId);
その後、ExecuteScalar()
:
Int32 newId = (Int32)myCommand.ExecuteScalar();
この方法では余分なクエリが回避され、パフォーマンスが向上します。
SQL Server 2000 または INSERT トリガーを使用する場合:
INSERT
トリガーを含む古い SQL Server バージョンまたはシナリオの場合は、SCOPE_IDENTITY()
関数を使用します。
INSERT INTO aspnet_GameProfiles (UserId, GameId) VALUES (@UserId, @GameId); SELECT SCOPE_IDENTITY();
取得した ID には、ExecuteScalar()
:
Int32 newId = (Int32)myCommand.ExecuteScalar();
これらの方法のいずれかを使用すると、新しく生成された ID を aspnet_GameProfiles
からシームレスに取得でき、この情報を必要とする後続の操作が可能になります。
以上がINSERT ステートメントの後に SQL Server に最後に挿入された ID を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。