SQL:如何将外键连接到某个表中的主键

时间:2018-01-22 13:42:39

标签: sql sql-server

我有一个ERD,我需要将外键连接到同一个表上的主键。我尝试过以下SQL代码:

CREATE TABLE Category(
    CategoryID UNIQUEIDENTIFIER 
        CONSTRAINT cat_cid_pk PRIMARY KEY DEFAULT NEWID(),
    CategoryName VARCHAR(100) 
        CONSTRAINT cat_can_nn NOT NULL,
    ParentCategoryID UNIQUEIDENTIFIER 
        CONSTRAINT cat_pcid_fk REFERENCES SWD6_1B.[Category]([CategoryID]);
)

下面我有ERD

ERD Table

有谁知道怎么做?

2 个答案:

答案 0 :(得分:1)

创建表格,然后使用alter table

alter table Category add constraint cat_pcid_fk
    foreign key (ParentCategoryID) references SWD6_1B.[Category]([CategoryID]);

答案 1 :(得分:1)

我认为你正在尝试做类似的事情:

CREATE TABLE Category(

CategoryID UNIQUEIDENTIFIER CONSTRAINT cat_cid_pk PRIMARY KEY DEFAULT NEWID(),

CategoryName VARCHAR(100) CONSTRAINT cat_can_nn NOT NULL,
ParentCategoryID UNIQUEIDENTIFIER 
CONSTRAINT cat_pcid_fk foreign key (ParentCategoryID) REFERENCES [Category]([CategoryID])
    );