MySQL外键设置是学习MySQL数据库过程中不能不提的,下面就会为您详细介绍MySQL外键设置的方法,希望对您学习MySQL外键设置方面能有所帮助。

外键的作用:

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

例如:

a b 两个表

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

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

有了外键后

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

建立外键的前提:本表的列必须与外键类型相同(外键必须是外表主键)。

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

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

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

例如:

outTable表 主键 id 类型 int

创建含有外键的表:

create table temp(

id int,

name char(20),

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

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

【编辑推荐】

【责任编辑:段燃 TEL:(010)68476606】

点赞 0

mysql 外键设置_详解MySQL外键设置相关推荐

  1. mysql临键锁_详解 MySql InnoDB 中的三种行锁(记录锁、间隙锁与临键锁)

    详解 MySql InnoDB 中的三种行锁(记录锁.间隙锁与临键锁) 前言 InnoDB 通过 MVCC 和 NEXT-KEY Locks,解决了在可重复读的事务隔离级别下出现幻读的问题.MVCC  ...

  2. mysql通配符escape使用_详解MySQL like如何查询包含'%'的字段(ESCAPE用法)

    在SQl like语句中,比如 SELECT * FROM user WHERE username LIKE '%luchi%' SELECT * FROM user WHERE username L ...

  3. mysql通配符escape使用_详解MySQL like如何查询包含#39;%#39;的字段(ESCAPE用法)-MySQL教程-Web开发者网...

    在SQl like语句中,比如 SELECT * FROM user WHERE username LIKE '%luchi%' SELECT * FROM user WHERE username L ...

  4. mysql mgr 三节点_详解MySQL 5.7 MGR单主确定主节点方法

    我们行MGR年底要上线了,每天都要看官方文档学习,做测试,坚持每天写一个小知识点,有想一起学习的么~ MySQL 5.7 MGR单主确定主节点是哪个,我们可以通过成员ID来判断,然后结合read_on ...

  5. mysql 编辑数据库内容_详解mysql数据库增删改操作

    插入数据 insert into 表名(列名1,列名2,列名3) values(值1,值2,值3); insert into user(user_id,name,age) values(1,'nice ...

  6. mysql 的dcl语句_详解MySQL第三篇—DCL语句

    DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句.这些语句定义了数据库.表.字段.用户的访问权限和安全级别.主要的语句关键字包括 g ...

  7. mysql 添加外键 完整_详解mysql添加外键的方法

    本文主要向大家介绍了mysql添加外键的方法,通过具体的实例让大家了解,希望对大家学习mysql有所帮助. 为已经添加好的数据表添加外键: 语法:alter table 表名 add constrai ...

  8. 外键查询_详解MySQL数据库删除所有表的外键约束、禁用外键约束相关脚本

    概述 数据库的外键虽然能保证数据数据一致性和完整性,但是也一定程度地影响了数据更新的性能.在开发中,我们使用PowerDesigner建立物理数据模型时,为了结构的清晰,增加可读性,会创建表与表之间的 ...

  9. 操作 mysql 不生成日志_详解MySQL的日志

    MySQL日志 MySQL的日志记录了MySQL的日常操作和错误信息,通过这些日志我们可以知道MySQL内部发生的事情,可以为MySQL的优化和管理提供必要的信息. MySQL的日志主要有:二进制日志 ...

最新文章

  1. python 如何计算代码块运行(执行)时间?time() time.time() time.clock() 区别
  2. mysql lib 5.5.28_mysql5.5.28在Linux下的安装
  3. 安装lxml,抓取、解析网页
  4. mysql数据库高可用_MySQL数据库高可用
  5. 关于input样式的一些技巧
  6. Topaz DeNoise AI 3.6.2 for Mac(图片降噪软件)
  7. puppet进阶指南——service资源详解
  8. Qt QLabel实现自动换行 字符断行 自适应
  9. 摩拜单车开锁实现原理剖析
  10. 按照之前的标题来看,这应该是...第四天(你以为是第三天的总结吗?图样图森破....
  11. 报错:Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.
  12. 矩特征、几何矩的定义
  13. springboot定期清理文件
  14. SQLiteManager 序列号 破解
  15. vue国际化(不刷新页面)
  16. c语言 gps课程设计,完整版GPS定位系统设计.doc
  17. 服务器后台设计与大型网站设计,「大型网站架构设计」—— 前言
  18. 安卓(Android)开发百度语音唤醒(识别)
  19. 零濡鸦之巫女服装解锁mod
  20. 马云深夜访茅台,阿里巴巴+贵州茅台,未来将有大发展!

热门文章

  1. 当头棒喝,过托福准留学生被吓蒙
  2. 一步一步分析讲解深度神经网络基础-Convolutional Neural Network
  3. Import “XXX“ could not be resolved 原因
  4. HttpServletResponse cannot be resolved to a type
  5. eos源码赏析(十一):EOS之从“狼人游戏”看智能合约调用及权限分配(上)
  6. 作业2(6)某客户为购房办理商业贷款,选择了按月等额本息还款法,在贷款本金(loan)和月利率(rate)一定的情况下,住房贷款的月还款额(money)取决于还款月数(month),...
  7. 制定具体而易执行的计划的重要性
  8. Windows下whl文件安装
  9. linux下gmt4绘制站点分布图,GMT4 脚本风格指南
  10. mysql建表 外键_mysql建表外键怎么设