Mysql中外键详解
1.定义外键的操作
2.这个外键的名字该如何定义?
3.一个表的外键必是另一个表的主键【比如,如果不定义student中sno为主键,那么score的sno为外键就无法定义】
create table student(
sno varchar(20) not null primary key,
cno varchar(20) not null);
create table score(
sno varchar(20) not null ,
cno varchar(20) not null ,
constraint sno_inScore foreign key(sno) references student (sno),
degree decimal(4,1));
4.为表增加主键
alter table course change column cno cno varchar(20) not null primary key;
这个语句可以分成三部分解读:
alter table course
:说明这个是对表course的操作change column cno
:说明这个是对列cno的操作cno varchar(20) not null primary key
:直接对字段的一个重新定义