外部关键字
在以后我们统一将外部关键字叫做外键,外键就是另一张表中的主键。
外键有啥用啊? 外键的主要作用就是保持数据的一致性,完整性。
怎么保证的呢?如下图:
如图有两张表,classId 是T_Student的外键,是T_class 表的主键, 如果我们要删除T_class 表中classId为1的字段,程序是会报错的,因为t_student表中有数据和classId为1的字段关联了,是不能删除的,这样子就保证了数据的一致性和完整性。
那怎么才能删除呢? 需要先删除T__student表中classId为1的两个字段。
如何给表添加外部关键字
在MySQL中给表中字段添加外键约束的语法规则如下:
CONSTRAINT 外键名 FOREIGN KEY 字段名 REFERENCES 主表名(主键名)
举个例子:现在有两张表,t_emp、t_dept如下。
t_dept表
|
字段名称 |
数据类型 |
备注 |
|
deptId |
INT |
部门编号 |
|
name |
VARCHAR(22) |
部门名称 |
|
location |
VARCHAR(50) |
部门位置 |
t_emp表
字段名称
数据类型
备注
id
INT
员工编号
name
VARCHAR(22)
员工姓名
deptId
INT
部门ID(外键类型必须和对应主键类型一直)
我们来创建两张表,并给员工表(t_emp)添加外键:实际操作如图:

创建两张表如下,给t_student表添加外键约束,外键为classId,外键名称为fk_stu_class1。


第二张表的外键一定是第一张表主键
数据库外键详解:作用、约束与添加方法,

1万+

被折叠的 条评论
为什么被折叠?



