无网不进  
软硬件开发

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中一张表只能有一个主键,主键可以由多个字段组成。

posted on 2017-11-23 12:59  无网不进  阅读(145)  评论(0编辑  收藏  举报