Sql server 多列外键,带硬编码参考值
我有一个ValidationStatus表,其中包含以下(主键)列: 可以在地址表和这个表之间建立外键吗 具体而言,每个地址都有一个验证状态;如果我能硬编码文本,它将是:Sql server 多列外键,带硬编码参考值,sql-server,sql-server-2014,Sql Server,Sql Server 2014,我有一个ValidationStatus表,其中包含以下(主键)列: 可以在地址表和这个表之间建立外键吗 具体而言,每个地址都有一个验证状态;如果我能硬编码文本,它将是: ALTER TABLE dbo.Addresses ADD CONSTRAINT FK_Addresses_ValidationStatus FOREIGN KEY('ADDRESS', ValidationStatus) REFERENCES dbo.ValidationStatus(Attribut
ALTER TABLE dbo.Addresses
ADD CONSTRAINT FK_Addresses_ValidationStatus
FOREIGN KEY('ADDRESS', ValidationStatus)
REFERENCES dbo.ValidationStatus(Attribute, Code)
你不能那样做。解决方案正在更改设计,如下所示:
ALTER TABLE dbo.Addresses
ADD CONSTRAINT FK_Addresses_ValidationStatus
FOREIGN KEY(ValidationStatus)
REFERENCES dbo.ValidationStatus(NewUniqueField)
ALTER TABLE dbo.Address
ADD CHECK (ValidationStatus in (1,2,3,4))
ALTER TABLE dbo.Address
ADD CHECK (ValidationStatus in (1,2,3,4))