美文网首页
MySQL外键约束

MySQL外键约束

作者: 老衲灬 | 来源:发表于2018-09-19 20:09 被阅读3次

1、概念

外键:从表中的公共字段称之为外键
好处:保证数据库数据的完整性,不会存在数据丢失的情况
缺点:对性能有影响,在海量的数据库中使用外键,如果一个程序每天要insert数百万条记录,当存在外键约束的时候,每次要去扫描此记录是否合格,一般还不止一个字段有外键,这样扫描的数量是成级数的增长!

注意:存储引擎必须是innodb(公共字段名称可以不一样,但是数据类型必须一样)

2、特性

-> 主表没有的数据从表就不能插入
-> 从表有的数据主表不能删除(先删从表,再删主表)

3、语法

创建表:foreign key(外键) references 主表(公共字段)
修改表:
alter database 数据名 charset=编码
alter view 视图名 as 新SQL语句
alter table 从表名 add foreign key(外键) references 主表(公共字段)
删除外键:alter table 从表名 drop foreign key 外键名

4、示例

create table users (
id int primary key auto_increment,
name varchar(20) not null
)engine=innodb charset=utf8;

create table orders(
id int primary key auto_increment,
users_id int,
foreign key (users_id) references users(id)
)engine=innodb charset=utf8;

相关文章

  • mysql约束

    1, mysql 不支持外键约束 ,条件约束约束分为列级约束,primary 主键约束check 条件约束for...

  • laravel 填充数据前用truncate清空有外键的表时报错

    原理就是在执行truncate之前告诉mysql取消所有外键约束检查,清空之后再恢复外键约束检查。 参见: htt...

  • MySQL外键约束

    1、概念 外键:从表中的公共字段称之为外键好处:保证数据库数据的完整性,不会存在数据丢失的情况缺点:对性能有影响,...

  • mysql 学习语句

    MySQL学习笔记 登录和退出MySQL服务器 基本语法 建表约束 主键约束 唯一主键 非空约束 默认约束 外键约...

  • mysql 添加外键约束错误 1215 Cannot add t

    mysql 添加外键约束 1215 Cannot add the foreign key constraint 1...

  • 设置外键,外键约束值的区别

    laravel 设置外键,并设置外键约束的方式 为联级删除 更新:在使用Navicat for mysql设计表时...

  • mysql 约束

    mysql 中常见的约束: 默认约束 非空约束 主键约束 唯一约束 外键约束 自增长约束 顾命思议,主要讲几个容易...

  • mysql创建外键约束

    语法: 外键约束常用的两种选项 父表更新同时更新子表,父表删除的时候如果子表不存在对应的数据删除成功,如果存在对应...

  • mysql-外键约束

    创建外键 表的结构已经建好,如何修改为外键 create table dep (id int primary ke...

  • mysql外键约束取消

    SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; ...

网友评论

      本文标题:MySQL外键约束

      本文链接:https://www.haomeiwen.com/subject/sfkwnftx.html