使用navicat设置外键

这里我使用的是三个表,userInfo,role,userRole是中间表结构如下图

crtl+d如下图

步骤

1.名字可以不用写,自动生成最好。
需要找到要设置成外键的字段,我这里先设置uid这个外键字段,选中uid

2.参考数据库,你的表在哪个数据库就选哪个数据库

3.参考表的选择,就是现在所选的外键字段在哪个表是主键的那个表,外键uid是userInfo表的主键

4.参考字段就是参考表的主键,即外键在参考表的字段命。

5.外键更新删除设置,在这里拓展一些知识,首先明确一个概念

假如表A(id,name,foreifn_id),表B(foreign_id,name),我们说表A参考了表B的主键作为其外键使用,所以B表示父表,A表是子表。删除和更新有四种设置方式。

  • cascade:级联,当父表更新、删除,子表会同步更新和删除。
  • set null:置空,当父表更新、删除的时候,子表会把外键字段变为null,所以这个时候设计表的时候该字段要允许为null,否则会出错。
  • restrict:父表在删除和更新记录的时候,要在子表中检查是否有有关该父表要更新和删除的记录,如果有,则不允许删除更改。
  • no action:和restrict一样。
  • 什么也不选:什么也不选就会默认选择no action。
空、RESTRICT、NO ACTION 删除:从表记录不存在时,主表才可以删除,删除从表,主表不变。
更新:从表记录不存在时,主表菜可以更新,更新从表,主表不变。
CASCADE 删除:删除主表时自动删除从表。删除从表,主表不变。
更新:更新主表时自动更新从表。更新从表,主表不变。
SET NULL 删除:删除主表时自动更新从表为NULL,删除从表,主表不变。
更新:更新主表时自动更新从表值为NULL。更新从表,主表不变。

Navicat设置表的外键相关推荐

  1. 怎么在sqlyog设置表的外键

    怎么在sqlyog设置表的外键 三种方法: 1.直接写sql语句. 2.用SQLyog 选择外键表 ,点击右键 选择关联/外键,然后再选择主表,外键. 3.在表 vet_specialties 上点击 ...

  2. mysql navicat如何为表添加外键?

    mysql navicat如何为表添加外键? 1.使用Navicat设置 打开设计表项: 点击外键项: 外键是当前表可以指向其他表的主键或数据唯一属性的属性. 当前表的sno属性是一个外键,它参考的是 ...

  3. powerdesigner设置主键为自增字段,设置非主键为唯一键并作为表的外键

    转自:https://www.cnblogs.com/CoffeeHome/archive/2014/06/04/3767501.html 这里powerdesigner连接的数据库是以mysql为例 ...

  4. mysql表定义外键语法_mysql设置外键的语法怎么写?

    2012-08-31 回答 mysql外键设置详解 (1) 外键的使用: 外键的作用,主要有两个: 一个是让数据库自己通过外键来保证数据的完整性和一致性 一个就是能够增加er图的可读性 有些人认为外键 ...

  5. navicat修改表的主键自增长报错

    这周自己在构思一个项目的表的设计,由于是第一次,所以走了很多弯路,也遇到了几个问题,这里暂时贴上来. 我用PowerDesign设计出一部分关联表的ER图之后,导出了sql文件之后用navicat导入 ...

  6. mysql取消外码约束_MySQL 关闭子表的外键约束检察方法

    准备: 定义一个教师表.一个学生表:在学生表中引用教师表ID create table teachers(teacherID int not null auto_increment primary k ...

  7. MySQL为表添加外键约束

    为表添加外键约束的语法 Alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名): 为表student ...

  8. 数据库建表需要外键约束?

    数据库建表需要外键约束吗? 数据库建表时一定要设置外键约束关系吗?

  9. mysql 删除表时外键约束_MySQL删除表的时候忽略外键约束的简单实现

    删除表不是特别常用,特别是对于存在外键关联的表,删除更得小心.但是在开发过程中,发现Schema设计的有问题而且要删除现有的数据库中所有的表来重新创建也是常有的事情:另外在测试的时候,也有需要重新创建 ...

最新文章

  1. iOS实现图片自动轮播展示
  2. 3D人脸重建和人脸分析常用的数据集汇总
  3. LeetCode 22. Generate Parentheses--Python 解法--广度优先、深度优先解法
  4. 2013年3月空调类品牌网络知名度排名
  5. 使用jQuery实现图片懒加载原理
  6. MySQL(22)--- NULL 值处理
  7. Android性能优化:手把手带你全面实现内存优化
  8. 凸优化第八章几何问题 8.4极值体积椭圆
  9. nginx配置CSP策略和Nonce随机数方案
  10. mysql sql语法解析器_Druid SQL 解析器概览
  11. 解密百度前端技术体系
  12. 如何做到长期稳定的禅修?
  13. 华东交通大学计算机调剂,【通知】华东交通大学2020年硕士研究生调剂通知
  14. asc18_hpl,hpc,hpcg
  15. 启动车子温车_车子启动后水温上的很快是什么原?
  16. android更新软件,Android软件的自动更新
  17. 神器 logging,你真的了解吗?
  18. 【新手教程】51Sim-One Cloud 2.0 构建标准案例2.0场景
  19. Xilinx FPGA资源解析与使用系列——DSP48E(一)
  20. 冯小刚电影经典台词全记录

热门文章

  1. 奇点临近:互联网经济的供给侧革命和全球货币政策的新格林斯潘之谜
  2. 轻聊 - 聊天室的设计思路
  3. Remoting学习
  4. ubuntu全屏显示
  5. 六级考研单词之路-二十一
  6. Electric Fences_usaco3.4_皮克定理
  7. 美团/叮咚/盒马/淘鲜达/百联到家autojs脚本学习案例
  8. 【手写源码-设计模式15】-责任链模式-基于人事请假单工作流场景
  9. shell中如何判断两个字符串相等
  10. android 24节气及节日,Android Tasker应用之农历节气和自定义节日小插件 | 树叶的BLOG...