无法在Sql Server

时间:2017-07-18 19:14:18

标签: sql-server foreign-key-relationship

我有两个表:SDCUST和新创建的SDRTS(在下面定义)。

SDCUST表定义

enter image description here

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   无法创建约束或索引。查看以前的错误。

如何创建此密钥?

1 个答案:

答案 0 :(得分:0)

只需跟进此问题的解决方法即可:

添加两列。 CONSTRAINT FK_SDRTS_SDCUST FOREIGN KEY(BGTID, CUSTID) REFERENCES SDCUST(BGTID, CUSTID)