我创建了"员工"表。在该表中,它有一个自引用键


create table STAFF
(StaffID    TINYINT IDENTITY NOT NULL,
StaffName   varchar(20) NOT NULL,
Phone       varchar(10) NOT NULL,
Gender      char(01),
DoB         date    NOT NULL,
Mentor      TINYINT,
Payment_ID  TINYINT NOT NULL,
constraint staff_pk primary key (StaffID),
constraint staff_fk foreign key (Payment_ID) references PAYMENT(Payment_ID),
constraint mentor_fk foreign key (Mentor) references staff(StaffID)
);

当它被执行时,它会给出以下错误。

消息 547,级别 16,状态 0,第 1 行 插入语句冲突 使用外键相同表约束"mentor_fk"。冲突 发生在数据库"F_T"中,表"DBO。工作人员","工作人员ID"一栏。这 声明已终止。

首先创建staff表。 然后添加外键:

create table STAFF (
    StaffID    TINYINT IDENTITY NOT NULL,
    StaffName   varchar(20) NOT NULL,
    Phone       varchar(10) NOT NULL,
    Gender      char(01),
    DoB         date    NOT NULL,
    Mentor      TINYINT,
    Payment_ID  TINYINT NOT NULL,
    constraint staff_pk primary key (StaffID),
    constraint staff_fk foreign key (Payment_ID) references PAYMENT(Payment_ID)
);
alter table staff
    add constraint mentor_fk foreign key (Mentor) references staff(StaffID);

相关内容

最新更新