zoukankan      html  css  js  c++  java
  • mysql 外键

    为什么使用外键

    例如上表中员工所属的部门列存在重复的数据,而且如果部门过长的话, 太占用空间,所以我们可以重新设计一张表, 这张表 中存放部门的相关信息

                    

    这种解决方法就是使用外键来解决的

    操作方法:

    constraint 外键名(fk_userinfo_depart) foreign key (列名(depart_id)) references 表名(department)(关联的列名(id))

     例:create table student(
      sid int auto_increment primary key,
      sname char(32) not null default '',
      gender char(16) not null default '',
      class_id int not null default 1,
      constraint class_key foreign key (class_id) references class(cid)
      )charset=utf8 engine=innodb;

    ps:创建多个外键的时候, 名称不能一样

    外键的变种

    唯一索引

    例:create table t1(
                        id int,
                        num int,
                        unique(num)
                    )engine=Innodb charset=utf8;

    作用:    
                        num列的值不能重复
                        加速查找

    联合唯一索引:

    例:create table t2(
                        id int,
                        num int,
                        unique(id, num)
                    )engine=Innodb charset=utf8;

    作用:    
                        num列和id列的值不能重复
                        加速查找

  • 相关阅读:
    SVG PATH d参数的 ace
    如果你想动态创建一个iframe
    canvas构建一个平面直角坐标系
    JavaScript版几种常见排序算法
    【分享】 Stip,让表单验证轻松愉快。
    【分享】javascript合并混淆压缩
    【分享】页面提示插件更新
    nodejs 的 session 简单实现
    页面模块之间的通信依赖解决方案
    在平面旋转一个点
  • 原文地址:https://www.cnblogs.com/duGD/p/11022659.html
Copyright © 2011-2022 走看看