mysql进阶(十一)外键在数据库中的作用
16lz
2021-01-22
MySQL外键在数据库中的作用
MySQL外键的目的是控制存储在外键表中的数据,使两张表形成关联,是MySQL数据库中非常重要的组成部分,值得我们去深入了解。那么,MySQL外键究竟起到哪些作用呢?下文就将带您一探其中的秘密。
MySQL外键的作用
保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。使两张表形成关联,外键只能引用外表中列的值!
例1
ab两个表
a表中存有客户号,客户名称
b表中存有每个客户的订单
有了外键后,你只能在确定b表中没有客户x的订单后,才可以在a表中删除客户x
建立外键的前提
本表的列必须与外键类型相同(外键必须是外表主键)。
指定主键关键字:foreignkey(列名)
引用外键关键字:references<外键表名>(外键列名)
事件触发限制
ondelete和onupdate,可设参数cascade(跟随外键改动),restrict(限制外表中的外键改动),setNull(设空值),setDefault(设默认值),[默认]noaction
例2
outTable表主键id类型int
创建含有外键的表:
createtabletemp(
idint,
namechar(20),
foreignkey(id)referencesoutTable(id)ondeletecascadeonupdatecascade);
说明:把id列设为MySQL外键,参照外表outTable的id列。当外键的值删除,本表中对应的列删除;当外键的值改变本表中对应的列值改变。
注
MySQL中一张表只能有一个主键,主键可以由多个字段组成。
美文美图
更多相关文章
- 客户端处理和服务器端处理,哪个比较快?
- 将大型阵列传输到客户端
- 【JavaScript】离线应用与客户端存储
- 如何用NodeJS组织构建、服务器、客户端和共享JavaScript代码
- 我如何捕获并插入Meteor.Error警报从Meteor.Methods到客户端数据
- 如何将变量推送到web客户端以获取ajax?
- 如何使用客户端Javascript数组并通过节点发布。将js API插入Mong
- Javascript日期/时间函数是否依赖于客户端机器?
- 应用Python开发WebService服务端及客户端