3

私はSQLServer2008を使用していますが、これを実行しようとしているのは次のとおりです。

update Daily set ReferenceNo = ReferenceNo + 100000

これはフィールドが次のとおりであるため、これを行うことはできません。[ReferenceNo] [bigint] IDENTITY(1,1) NOT NULL,

自動インクリメントを削除してテーブルを保存し、必要な処理を実行しようとすると、次のエラーが発生します。

ここに画像の説明を入力してください

テーブルを落とさずにこれを行う方法はありますか?

4

3 に答える 3

5

これはSQLServerManagement Studioの安全機能ですが、オフにすることもできます:-)

に移動しTools > Optionsてから:

ここに画像の説明を入力してください

このオプションを無効にすると、ビジュアルデザイナでやりたいことができるようになります。

于 2012-10-19T12:06:16.750 に答える
2

私はそれを理解しました、この問題を抱えている他の人のために、次のことをしてください:

SQL Server 2008で、[ツール]>[オプション]>[デザイナー]>[テーブルおよびデータベースデザイナー]>[テーブルの再作成が必要な変更を保存しない]に移動します。このオプションをオフにすると、テーブルを再度保存できるようになります。

于 2012-10-19T12:07:13.173 に答える
0

このエラーは、IDENTITY列がクラスタリングキーでもあることを示しています。

前の質問に対するこの回答を確認してください。

設計上更新できないIDENTITY列であるため、複雑になります。
クラスタリングキーを更新しているため、データは実際に削除され、再挿入されます。すべてのデータを書き換える必要があることを考えると、テーブル(トリガー、シノニム、関数、スキーマにバインドされたビュー、外部キーは別として)を再作成するだけで問題はありません。

于 2012-10-19T12:07:40.580 に答える