1

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シードを更新する方法はありますか?

4

1 に答える 1

0

問題は、ID列が常にテーブルの最初の列であるという誤った仮定でした。そのため、以前は実際にはID列ではなかったIDとして列を作成しようとしたため、エラーメッセージが表示されました。

于 2012-07-17T12:16:09.367 に答える