mysql可视化创建外键说明_关于使用可视化图形工具navicat for mysql来创建外键的步骤...

主键:主键是一张表的唯一标识符,应该让其处于不可被外界更改状态。

且主键对于用户来说是无意义的,为了明确这一点,我们应该让主键处于一种幽魂状态,即主键存在,但其他人并不感觉到它存在。

外键:创建外键是为了在数据表之间建立联系。一个外键一般而言在他自身的主表中是唯一的,我这里经常就使用主表的主键作为从表的外键。

何谓主表,从表?

user表中有字段

id            int            11            not null        主键

name      varchar    20            not null        普通字段

message表中有字段

id               int            11            not null        主键

content      varchar    20            not null        普通字段

userId        int            11            null               外键

上方有两张表,其中user表就是主表,而message表即是从表。

添加外键的时候应该注意如下规则:

1、添加外键的数据库引擎必须为InnoDB

2、关联的字段数据类型必须一样,如上方两张表中的关联都是int类型

3、知道表与表之间的主从关系,需要在从表中添加外键

4、从表中的关联字段数据,在主表中需要是唯一的,我这里一般就使用主表的主键

5、创建外键的时候,需要先建立索引。索引的目的是为了更快地进行搜寻。当然,如果没有在主表里面建立索引,那么可能在从表中创建外键的时候出现错误。

6、如果有多张表需要创建外键,那么外键的名字也必须是唯一的,且不区分大小写。

使用navicat for mysql创建外键时,需要选择删除更新的关系:

198d35e98d3debd4cd9158d32b3a8da4.png

.cascade方式

在父表上update/delete记录时,同步update/delete掉子表的匹配记录

. set null方式

在父表上update/delete记录时,将子表上匹配记录的列设为null

要注意子表的外键列不能为not null

. No action方式

如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作

. Restrict方式

同no action, 都是立即检查外键约束

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值