INSERT语句与FOREIGNKEY约束XXX冲突。该冲突发⽣于数据
库XXX,表XXX,。。。
很多⼈会遇到上⾯的问题,我也是:问题由来
1.建⽴表1
create table Depts
(Dno char(5) primary key,
Dname char(20) not null)
2.建⽴表2
CREATE TABLE Students                      /*列级完整性约束条件*/
(Sno  CHAR(5) NOT NULL,              /* Sno不能为空值*/
Sname  CHAR(20) NOT NULL,          /*Sname不能为空值*/
Ssex  CHAR(2),
Sage  INT,
Sdept  CHAR(15),
CONSTRAINT FK_Sno foreign key(Dno) references Depts        /* 定义外键约束*/
3.将⼀个学⽣元组添加到基本表Students中,SQL语句如下:
insert
into Students
insert语句字段顺序
values('S01','王建平','男',21,'D01')
4.点击分析,没有错误,点击执⾏,就出现INSERT 语句与 FOREIGN KEY 约束"FK_Dno"冲突。该冲突发⽣于数据库"XXXX",表"dbo.Depts", column 'Dno'。语句已终⽌。
解析理论:外键约束,⽐如B表存在⼀个字段b,有外键约束,引⽤于A表的主键a,那么在向B表插⼊数据时,字段b必须为A表中a已经存在的值,如过向b中存放⼀个a中没有的值,则会报违反外键约束。
解决⽅法:只要在Depts表中添加
insert
into Depts
values('D01','⾃动化')

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。