所以我在做我的项目,然后尝试插入一些值,这些值是外键。
INSERT语句与外键约束"SCHEDFK4“冲突。冲突发生在数据库"EnrollmentDatabase“、表"dbo.tblSubject”、列'Subject_ID‘中。
以下是我的SQL实体
CREATE TABLE tblGradeLevel
(
Grade_ID VARCHAR (5) NOT NULL,
Grade_Name VARCHAR (20) NULL,
PRIMARY KEY (Grade_ID)
)
CREATE TABLE tblSubject
(
Subject_ID VARCHAR (5)NOT NULL,
Subject_Name VARCHAR (20) NOT NULL,
Subject_Desc VARCHAR (20) NOT NULL,
Grade_Name VARCHAR (5) NOT NULL,
PRIMARY KEY (Subject_ID),
CONSTRAINT SUBFK1 FOREIGN KEY (Grade_ID)
REFERENCES tblGradeLevel (Grade_ID)
)
CREATE TABLE tblSchedule
(
Subject_Schedule_ID VARCHAR (5)NOT NULL,
Section_ID VARCHAR (5)NOT NULL,
Teacher_ID VARCHAR (5)NOT NULL,
Time_In VARCHAR (20)NOT NULL,
Time_Out VARCHAR (20)NOT NULL,
Subject_ID VARCHAR (5)NOT NULL,
Grade_ID VARCHAR (5)NOT NULL,
PRIMARY KEY (Subject_Schedule_ID),
CONSTRAINT SCHEDFK1 FOREIGN KEY (Student_ID)
REFERENCES tblStudent_Information (Student_ID),
CONSTRAINT SCHEDFK2 FOREIGN KEY (Section_ID)
REFERENCES tblSection (Section_ID),
CONSTRAINT SCHEDFK3 FOREIGN KEY (Teacher_ID)
REFERENCES tblTeacher (Teacher_ID),
CONSTRAINT SCHEDFK4 FOREIGN KEY (Subject_ID)
REFERENCES tblSubject (Subject_ID),
CONSTRAINT SCHEDFK5 FOREIGN KEY (Grade_ID)
REFERENCES tblGradeLevel (Grade_ID)
)
发布于 2015-09-14 20:42:50
要避免发生此错误,请确保要插入到引用另一个表的列中的值存在于该表中。如果主表中不存在该值,请先插入该表,然后再对第二个表进行插入。
若要避免此错误,请先将insert into the [dbo].[tblsubject]
表插入到[dbo].[tblSchedule]
表中。
发布于 2015-09-14 20:52:27
这很容易从您的错误中理解,您试图在tblSchedule
中插入一条记录,但是tblsubject
表中缺少相应的Subject_ID
。
您有两个选项来解决这个问题。
tblsubject
中插入需要在tblSchedule
表中引用的条目。您可以在MSDN链接这里上阅读有关外键约束的更多信息。
https://stackoverflow.com/questions/32577716
复制