Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL错误1452:无法添加或更新子项_Mysql_Sql Server - Fatal编程技术网

Mysql SQL错误1452:无法添加或更新子项

Mysql SQL错误1452:无法添加或更新子项,mysql,sql-server,Mysql,Sql Server,这里FacID是外键,它是教员的主键 当我插入值时,我尝试插入此值 Create table Course(CourseID char(5),CourseDesc varchar(25),CourseType char(9),SemNo int(1),FacID char(4) default 0); alter table Course add primary key(CourseID); alter table Course add foreign key(FacID) references

这里FacID是外键,它是教员的主键 当我插入值时,我尝试插入此值

Create table Course(CourseID char(5),CourseDesc varchar(25),CourseType char(9),SemNo int(1),FacID char(4) default 0);
alter table Course add primary key(CourseID);
alter table Course add foreign key(FacID) references Faculty1(FacID);

但是,这会产生sql错误1452,请解决它。

您在插入中拼错了CourseID:

insert into Course(CouseID,CourseDesc,CourseType,SemNo,FacID) values ('EE025','Digital Logic Circuits','Theory','4','');
应该是:

insert into Course(CouseID,CourseDes...

您是否确认在
Faculty1
中有一行
FacID=0

insert into Course(CourseID,CourseDes...

如果要插入空白值(
'
),则需要在
Faculty1.FacID
中具有空字符串值。否则,您可以正确地指示
'0'

insert into Faculty1 (FacID /* other columns */) values (0 /*, other values*/ );
insert into Course(CourseID,CourseDesc,CourseType,SemNo,FacID) values ('EE025','Digital Logic Circuits','Theory',4,0);

rextester演示:

您能试着在教员表中查看FacID值,并输入FacID值中的任何值,而不是将“”放在那里吗?添加如下内容:插入课程(CouseID、CourseDesc、CourseType、SemNo、FacID)值('EE025'、'Digital Logic Circuits'、'Theory'、'4'、'G');其中“G”在教员表的FacId列中。这是mysql还是sql server?没有教员id引用它,它有(null)value@rajesh用一个例子和演示更新了我的答案。
create table Faculty1(
    FacID char(4) not null primary key
);
insert into faculty1 values (0);

create table Course(
    CourseID char(5) not null
  , CourseDesc varchar(25)
  , CourseType char(9)
  , SemNo int
  , FacID char(4) not null default 0 
    /* specify not null to use default when value not inserted */
); 
alter table Course add primary key(CourseID);
alter table Course add foreign key(FacID) references Faculty1(FacID);

/* inserting `''` instead of `0` for FacId results in an error */
begin try;
insert into Course(CourseID,CourseDesc,CourseType,SemNo,FacID) values 
('EE025','Digital Logic Circuits','Theory','4','');
end try
begin catch
select error_message();
end catch;

/* inserting `0` for FacId = no error*/
insert into Course(CourseID,CourseDesc,CourseType,SemNo,FacID) values 
  ('EE025','Digital Logic Circuits','Theory',4,'0');
select * from Course;

/* inserting without specifying FacId uses default*/
insert into Course(CourseID,CourseDesc,CourseType,SemNo) values 
  ('EE026','Digital Logic Circuits','Theory',4);
select * from Course;