[Mysql]---Navicat --外键建立与cannot add foreign key constraint分析

用Navicat为MySQL数据库的两个表之间建立外键关系,出现“cannot add foreign key constraint”错误.

外键

设计外键的界面,有七列:
名(name):可以不填,保存时会自动生成。
栏位(FieldName):要设置的外键,如:t_stuschoolregisterinfo 里的IDCard
参考数据库(Reference DataBase):外键关联的数据库
被参考表(Reference Table):关联的表,这里是t_stupersoninfo表
参考栏位(Forgin filed Names):关联的字段,t_stupersoninfo里的IDCard
删除时(ondelete):删除时候的动作,当时我选择的是SETNULL
更新时(onupdate):更新时候的动作,我选择的是CASCADE
以上字段也可以按照自己的需求填写,设置完成后保存即可。

创建外键失败:

创建外键的前提:

  • 参照表的字段是否存在.
  • 组成外键字段要求被索引,外键字段在其他表上是主键.
  • 都为innodb表.
  • 字段类型一样.
  • 语法正确.

前提

当我们创建外键时,外键的索引会自动建起来,这里类型要一样很重要,除了上面的,下方Unsigned也要注意 是否和原表中一样
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值