展开全部
外键可以为空,但只允32313133353236313431303231363533e78988e69d8331333337613261许主键所包含的值和空值。
举例:
创建三张表:create table student
(sno char(5) primary key,
sname char(20) not null,
ssex char(3) not null,
sage integer not null,
sdept char(15));
create table course
(cno char(5) primary key,
cname char(20) not null unique,
cpno char(5),
ccredit integer);
create table sc
(sno char(5) constraint fk_student references student(sno),
cno char(5) constraint fk_course references course(cno),
grade integer);
其中student和course都是主表,sc是副表,其中sno和cno分别为student中的sno和course中的cno的外键。
在主表中添加数据:insert into student values ('001','zs','男',11,'计算机系')
insert into course values ('001','C语言',null,3)
此时在副表中添加sno、cno为空的数据:insert into sc values (null,null,10)
结果是可以成功的:
此时表中数据为: