最後の ID の取得: @@IDENTITY、SCOPE_IDENTITY()、および OUTPUT
テーブルへの新しいレコードの挿入には、多くの場合、最後に生成されたレコードの取得が含まれます。列の ID 値。この目的のために、@@IDENTITY、SCOPE_IDENTITY()、OUTPUT などのさまざまなメソッドが存在します。
@@IDENTITY
@@IDENTITY は、生成された最後の ID 値を取得します。テーブルやスコープに関係なく、現在の接続。別の操作によってトリガーされた場合でも、最新の挿入によって生成された ID 値を返します。ただし、このメソッドはスコープ セーフではありません。
SCOPE_IDENTITY()
SCOPE_IDENTITY() はスコープ セーフです。ステートメントの現在のスコープ内で生成された最後の ID 値を返します。これは、トリガーがレコードを挿入して ID 値を生成した場合、SCOPE_IDENTITY() を呼び出したのと同じステートメントによって生成されたものでない限り、SCOPE_IDENTITY() はその値を返さないことを意味します。
OUTPUT メソッド
OUTPUT メソッドは、ID 値を取得するためのもう 1 つのオプションです。挿入中に生成された ID 値を含む、挿入された行のテーブルを返します。このメソッドは、現在のステートメントによって挿入された行の ID 値のみを取得するため、スコープ セーフでもあります。
最適なメソッドの決定
メソッドの選択最後の ID 値を取得するかどうかは、特定のシナリオ:
以上が最後の ID 値を取得するために @@IDENTITY、SCOPE_IDENTITY()、OUTPUT のいずれかを選択する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。