我有两个表:SDCUST
和新创建的SDRTS
(在下面定义)。
SDCUST表定义
DROP TABLE SDRTS
GO
CREATE TABLE SDRTS(
BGTID int NOT NULL,
RTSID uniqueidentifier NOT NULL,
CONSTRAINT PK_SDRTS PRIMARY KEY CLUSTERED (BGTID,RTSID),
CUSTID uniqueidentifier NOT NULL,
CONSTRAINT FK_SDRTS_SDCUST FOREIGN KEY(CUSTID)
REFERENCES SDRTS(CUSTID),
BGRPID_1 uniqueidentifier NOT NULL,
BGRPID_2 uniqueidentifier NOT NULL,
INCRT FLOAT NULL,
CURRID int NOT NULL,
EDATE datetime NULL,
EUSRID uniqueidentifier NULL,
UDATE datetime NULL,
UUSRID uniqueidentifier NULL,
V001 float NULL,
我希望CUSTID
成为新表上的外键,但是我收到错误:
Msg 3701,Level 11,State 5,Line 1 无法丢弃表格SDRTS',因为它不存在或您没有权限。
Msg 1776,Level 16,State 0,Line 3 参考表中没有主键或候选键' SDRTS'与外键中的引用列列表匹配' FK_SDRTS_SDCUST' Msg 1750,Level 16,State 0,Line 3 无法创建约束或索引。查看以前的错误。
如何创建此密钥?
答案 0 :(得分:0)
只需跟进此问题的解决方法即可:
添加两列。 CONSTRAINT FK_SDRTS_SDCUST FOREIGN KEY(BGTID, CUSTID) REFERENCES SDCUST(BGTID, CUSTID)