mysql进阶(十一)外键在数据库中的作用

时间:2023-03-09 02:47:21
mysql进阶(十一)外键在数据库中的作用

MySQL外键在数据库中的作用

MySQL外键的目的是控制存储在外键表中的数据,使两张表形成关联,是MySQL数据库中非常重要的组成部分,值得我们去深入了解。那么,MySQL外键究竟起到哪些作用呢?下文就将带您一探其中的秘密。

MySQL外键的作用

保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。使两张表形成关联,外键只能引用外表中列的值!

例1

a b 两个表

a表中存有客户号,客户名称

b表中存有每个客户的订单

有了外键后,你只能在确定b 表中没有客户x的订单后,才可以在a表中删除客户x

建立外键的前提

本表的列必须与外键类型相同(外键必须是外表主键)。

指定主键关键字: foreign key(列名)

引用外键关键字: references <外键表名>(外键列名)

事件触发限制

on delete和on update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设默认值),[默认]no action

例2

outTable表 主键 id 类型 int

创建含有外键的表:

create table temp(

id int,

name char(20),

foreign key(id) references outTable(id) on delete cascade on update cascade);

说明:把id列设为MySQL外键,参照外表outTable的id列。当外键的值删除,本表中对应的列删除;当外键的值改变 本表中对应的列值改变。

MySQL中一张表只能有一个主键,主键可以由多个字段组成。

美文美图

mysql进阶(十一)外键在数据库中的作用

mysql进阶(十一)外键在数据库中的作用