0

データを含むテーブルがあり、一部の列を一意に変更したいのですが、一意である必要がありますが、その列にデータが重複していて、データベースに問題が発生するのではないかと心配しています。

一意のデータを持たない列を一意に変更するとどうなるか知りたいです。いくつかのレコードが失われるか、エラー メッセージが表示されるか、またはその他の何かが発生します。

PS .: SQL Server を使用しています

前もって感謝します。

4

2 に答える 2

0

重複データを持つ COLUMN に UNIQUE 制約を追加することはできません。

SSMSでは、エラーメッセージはそのようなものです

The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo.<Table>' and the index name '<constraintname>'. The duplicate key value is (<NULL>).


Could not create constraint. See previous errors.

データを失うことはありません。

于 2013-08-23T12:40:20.657 に答える
0
alter table YourTable add constraint UX_YourTable_YourColumn unique(YourColumn)

重複するデータがある場合、 はalter変更を加えずに中止します。

次のような重複を照会できます。

select  YourColumn
,       count(*) as DuplicateCount
from    YourTable
group by
        YourColumn
having  count(*) > 1
于 2013-08-23T12:38:49.100 に答える