0

主キー(自動インクリメント)と外部キーを持つSQLテーブルがあります。外部キーを2番目の主キーに変更して、値が重複しないようにテーブルを変更する必要があります。

データに影響を与えずにテーブルを変更するにはどうすればよいですか? SQL コードが必要です。

よろしく、ヴィックス

4

1 に答える 1

1

私があなたの要求を理解した場合、スキーマが次のようになるように、指定されたテーブル内で外部キーを強制的に一意にする必要があります。

Create Table Table1
(
    Id int not null primary key clustered
    , ForeignId not null
    , ...
    , Constraint FK_Table1_Table2
        Foreign Key ( ForeignId )
        References Table2( Id )
)

そして、ForeignId をこのテーブル内で一意にする必要がありますよね? 次のようにします。

Alter Table Table1
    Add Constraint UC_Table1_ForeignId Unique Nonclustered ( ForeignId )
于 2010-04-03T04:23:23.467 に答える