SQL Compact 3.5では、大きなデータチャンクのテーブル間コピーを実行します。ID制約の問題を回避するためSET IDENTITY_INSERT table ON
に、コピー前とコピーSET IDENTITY_INSERT table OFF
後に使用します。
MSDNで説明されているように、IDメタ情報、特に次のID番号(AUTOINC_NEXT
)は、挿入中にSQLCompactランタイムによって更新されません。したがって、挿入後、ID値が挿入された値と衝突するという問題が発生します。
次のコマンドを実行してIDシードを増やすために、MSDNで推奨されているアプローチを試しました。
ALTER TABLE Projects ALTER COLUMN ProjectID IDENTITY (200, 2);
ただし、次のエラーメッセージが表示されます。
The column cannot become an identity column after it is created.
SQL Compactに挿入した後にIDシードを更新する方法はありますか?