あなたはテーブルの順序を仮定するというよくある誤りを犯しています。テーブルには順序がありません。結果のみに順序があり、明示的な ORDER BY が指定されない限り決定されません。
別の質問をするかもしれません:同時挿入の場合、id によって生成された値はどのように割り当てられますか?答えは簡単です:関係ありません .また、順序について何らかの仮定を行うと、コードが壊れます。ギャップも同様です。生成された ID が完全にランダムであってもアプリケーションは動作するはずであり、正しく記述されたアプリケーションは動作します。 ID が完全にランダムな場合に機能します。 SCOPE_IDENTITY()
を使用します
最後に挿入された ID を取得します。さらに良いことに、OUTPUT
を使用します。
INSERT
の節 、複数行の挿入にも機能します。
記録のために:ID は、オペレーションが ログ ストリーム .