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

来源:互联网 发布:json怎么写注释 编辑:程序博客网 时间:2024/06/02 01:13

用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也要注意 是否和原表中一样
0 0
原创粉丝点击