外键
外键:foreign key,外面的键,即不在自己表中的键。如果一张表中有一个非主键的字段指向另外一张表的主键,那么将该字段称之为外键。每张表中,可以有多个外键。
新增外键
外键既可以在创建表的时候增加,也可以在创建表之后增加(但是要考虑数据的问题)。
第 1 种:在创建表的时候,增加外键
- 基本语法:foreign key(外键字段) + references + 外部表名(主键字段);
执行如下 SQL 语句,进行测试:
1
2
3
4
5
6
7
8
9
10 1-- 创建外键
2create table my_foreign1(
3 id int primary key auto_increment,
4 name varchar(20) not null comment '学生姓名',
5 c_id int comment '班级表ID',
6 -- 增加外键
7 foreign key(c_id) references class(id)
8)charset utf8;
9
10
观察上图可知,字段c_id的key显示为MUL,表示多个键的意思。这是因为外键要求字段本身是一个索引(普通索引)如果字段本身没有索引,外键就会先创建一个索引,然后才创建外键本身。此外,CONSTRAINT后面的my_foreign_ibfk_1表示外键的名字。
第 2 种:在创建表之后,增