错误代码:1452在表中插入元素时

时间:2015-08-31 09:51:50

标签: mysql

下面是我的表 -

create table employee1(
 fname varchar(15) not null,
 minit char(15) ,
 lname varchar(15) not null,
 ssn char(9) not null,
 bdate date,
 address varchar(30),
 sex char,
 salary decimal(10,2),
 superssn char(9),
 dno int not null default 1,
 constraint emppk
 primary key (ssn),
 constraint empsupkerfk
 foreign key (superssn) references employee1(ssn) on delete set null on update cascade,
 constraint empdeptfk
 foreign key (dno) references department(dnumber) on delete set default on update cascade 
  );

这是我的插入陈述 -

insert into employee1 
(
fname,minit,lname,ssn,bdate,address,sex,salary,superssn,dno
 ) 
values (
'jhon','b','smith','123456789','1955-01-09','731 fondren,houston, tx','m','30000','33344555','5'
)

这是我得到的错误 -

  

错误代码:1452。无法添加或更新子行:外键   约束失败(employeeemployee,CONSTRAINT employee_ibfk_1   外键(superssn)参考employeessn

1 个答案:

答案 0 :(得分:1)

错误非常明确,这意味着您尝试在employee1中插入superssn employee中不存在的protected void GameFiltering(object sender, CustomExpressionEventArgs e) { e.Query = e.Query.Where(obj => (int)obj.GetType().GetProperty("GameId").GetValue(obj, null) == GameId) } 值。

来自docs

  

外键关系涉及一个包含该表的父表   中心数据值和具有相同值的子表   回到它的父母。 FOREIGN KEY子句在子节点中指定   表

     

它将拒绝尝试创建的任何INSERT或UPDATE操作   如果没有匹配项,则子表中的外键值   父表中的候选键值。