2012-06-20 6 views

答えて

23

次の手順に従います。 -

1).Firstlyテーブルから古いデータを削除します。

2)。使用ALTER TABLE dbo.tbltest
ALTER COLUMN ID varchar(200)

3)。今再び ALTER TABLE dbo.tbltest
ALTER COLUMN ID uniqueidentifier

は明確にするために、あなたは、直接

をUNIQUEIDENTIFIERする数値から列を変換することはできませんが、数値に変換することができます - > VARCHAR - > UNIQUEIDENTIFIER。 Entity Frameworkのを使っている人に

4

と互換性がありませんあなたはおそらくで(最初の列を追加する必要があります既定値またはNULL可能なので、既存のデータを持つ行に列を追加することができます)、必要な値または必要な値に更新し、キーを変更します(プライマリキーの場合は新しい列に変更し、このテーブルのキー)、必要に応じて古い列を削除して新しい列を変更します(例:アイデンティティシードの設定、null可能な削除など)。

+0

私はすでにテーブルからすべてのデータを削除していました。 – Visions

+0

を参照してください。その場合は、最初に 'binary(16)'に変更してから 'bigint'に変更することもできます - テストされていませんが、SQL Serverはデータがプロセス内で切り捨てられていない限りこれを許可します。 – Lucero

3

注:明らかに
、あなたはすべての関係とID列をドロップする、複雑な関係を持つ大規模なデータベースを持っているし、それらを再追加する場合には、巨大な試練です。

多く生成されたモデル(.edmx)を更新する方が簡単です。

はい、Visual Studioでは、不平を言ってデータタイプを更新することができます。実際、.edmxファイルを保存すると、関係が検証されます。あなたが逃した可能性のあるフィールドはすべてエラーとして表示されます。

作業が終わったら、モデルからデータベースを再生成できます。ブーム、完了。

0

Singhの回答が機能していない場合は、おそらくテーブルを削除して再作成する必要があります。

関連する問題