我用navicat工具给mysql数据库 添加外键时总报错。为什么?
表类型我选的都是innodb外键需要引用的主键类型,长度全是一样的,为什么老报错。同样的方法,二个数据库,都建同样的表,表里的字段所有信息完全一样,一个数据库添加外键成功...
表类型我选的都是innodb 外键需要引用的主键类型,长度全是一样的,为什么老报错。同样的方法,二个数据库,都建同样的表,表里的字段所有信息完全一样,一个数据库添加外键成功,另一个添加失败?我都无语到吐血了,完全无语。
展开
1个回答
展开全部
两个相同的表?另外那个数据库(建外键失败的那个)的表是复制过去的,还是通过ddl建表语句写的?
建外键的原则:
1 innodb引擎
2 子表父表编码一致
3 被引用的父表的键必须是唯一或者是主键
4,主外键类型一致
---如果你是复制过去的,那么主键和唯一键属性是没有的,你仔细核对下
建外键的原则:
1 innodb引擎
2 子表父表编码一致
3 被引用的父表的键必须是唯一或者是主键
4,主外键类型一致
---如果你是复制过去的,那么主键和唯一键属性是没有的,你仔细核对下
追问
你说的这些都符合啊。 你qq多少 或者给个联系方式。我引用的父表是innodb引擎 的那个列是 主键 int 类型 8个长度 自增的 子表是innodb引擎的对应的外键是 也是int 类型 8个长度 只不过不是自增的吗 ,你看这个有问题?要不我把Navacat给你打开,你帮我远程协助。或者你你用录屏软件录下建外键的过程,用navicat随便建个库在库里建两个表,只要能建外键就行了。
追答
461705133,请加
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询