我有一个表员工,其中 ssn 作为主键,另一个 supr_ssn 属性是引用员工表本身的 ssn 的外键。因此,当插入表格时,我得到外键约束,因为我没有在 ssn 中插入任何值。这是我的表:
create table employee(
Fname varchar(15) not null,
Minit char,
Lname Varchar(15) not null,
ssn char(9) not null,
Bdate Date,
Address varchar(30),
sex char,
Salary decimal(10,2),
super_ssn char(9),
Dno int not null,
primary key(ssn),
foreign key(super_ssn)references employee(ssn),
foreign key(dno)references department(Dnumber)
)
当我插入表时,使用代码我得到外键约束:
insert into sample.employee(
Fname, Minit, Lname, ssn, Bdate,
Address, sex, salary, Dno
)
values(
'John', 'B', 'Smith', '123456789', 01/09/1965,
'731 fondren,housten', 'M', 30000, '333445555', 5
)
答案 0 :(得分:0)
如果主键值不存在,则无法为外键输入值。 因此,输入主键值然后尝试相应地更新外键值。