挿入後に主キーの ID 値を取得する場合、複数のメソッドを使用できます。この記事では、ニーズに最適な方法を選択できるように、各方法の利点と制限事項を検討します。
次の方法が一般的に使用されます。
@@IDENTITY は、によって生成された ID 値を返す可能性があるため、スコープセーフではありません。異なるステートメントまたはトリガー。 SCOPE_IDENTITY() はスコープセーフですが、テーブルに関係なく生成された最後の ID 値を返すため、場合によっては混乱を招く可能性があります。
OUTPUT 句は有利です。複数の ID 値または追加の列を取得する場合に使用しますが、どの列を返すかを明示的に指定する必要があります。 IDENT_CURRENT('Table') は、特定のテーブルの ID 値のみを取得する必要がある場合に便利です。
OUTPUT 句はスコープではありません-safe、単一の値ではなくテーブルを返すため。したがって、外部キー関係で主キー値を設定する場合など、単一の ID 値が予期されるコンテキストでは使用できません。
方法の選択は、アプリケーションの特定の要件。スコープ付き ID 値の場合は、SCOPE_IDENTITY() が推奨されます。スコープのない ID 値の場合、または複数の ID 値を取得する場合は、OUTPUT が便利です。特定のテーブルの ID 値を取得するには、IDENT_CURRENT('Table') が適しています。
以上が最後に挿入された ID 値を取得するための最適な方法を選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。