主キー(自動インクリメント)と外部キーを持つSQLテーブルがあります。外部キーを2番目の主キーに変更して、値が重複しないようにテーブルを変更する必要があります。
データに影響を与えずにテーブルを変更するにはどうすればよいですか? SQL コードが必要です。
よろしく、ヴィックス
主キー(自動インクリメント)と外部キーを持つSQLテーブルがあります。外部キーを2番目の主キーに変更して、値が重複しないようにテーブルを変更する必要があります。
データに影響を与えずにテーブルを変更するにはどうすればよいですか? SQL コードが必要です。
よろしく、ヴィックス
私があなたの要求を理解した場合、スキーマが次のようになるように、指定されたテーブル内で外部キーを強制的に一意にする必要があります。
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 )