ホームページ > データベース > mysql チュートリアル > 最後の ID 値を取得するために @@IDENTITY、SCOPE_IDENTITY()、OUTPUT のいずれかを選択する方法は?

最後の ID 値を取得するために @@IDENTITY、SCOPE_IDENTITY()、OUTPUT のいずれかを選択する方法は?

DDD
リリース: 2024-12-29 18:03:10
オリジナル
339 人が閲覧しました

How to Choose Between @@IDENTITY, SCOPE_IDENTITY(), and OUTPUT for Retrieving Last Identity Values?

最後の 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 値を取得するかどうかは、特定のシナリオ:

  • @@IDENTITY: スコープに関係なく、特定のセッションの最後の ID 値を取得するのに適しています。
  • SCOPE_IDENTITY(): 挿入と同じスコープ内の ID 値を取得することが重要な場合に使用します。ステートメント。
  • OUTPUT メソッド: ID 値を含む、挿入された行のテーブルを取得する必要がある場合に最適です。

以上が最後の ID 値を取得するために @@IDENTITY、SCOPE_IDENTITY()、OUTPUT のいずれかを選択する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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