ID列

2011-01-26 34 views
2

INTデータ型の最大限度に達しているため、複数の削除を持つID列がありません すべてのデータを切り捨てずに削除済みの場所にレコードを挿入するにはどうすればよいですか?ID列

答えて

5

あなたは、未使用のIDENTITY値を「リサイクル」することはできません - あなたはINTデータ範囲の最後に到達した場合、あなたはBIGINTにごID列を変更する必要があります。

ALTER TABLE dbo.YourTable 
    ALTER COLUMN YourIDColumn BIGINT 

IDENTITYプロパティが保存されます - 今、あなたは、次の数ヶ月来て/年に利用可能な追加のID値がたくさんあります!

3

これは多くの作業のようです。テーブル(および関連するテーブル)の主キーをintからbigintに変更するだけではどうですか?

intは2,147,483,647という最大値を与えます。

は、最大値9,223,372,036,854,775,807を提供します。

4

明白なことを言わないと...

1から1まで増やしましたか?その場合は、IDを-1、-1に変更します。テーブルの再構築が必要ですが、bigintに変更するよりも簡単です。さらに20億IDを提供します。

次に、bigintの移行を計画してください。