我用navicat工具给mysql数据库 添加外键时总报错。为什么?
表类型我选的都是innodb 外键需要引用的主键类型,长度全是一样的,为什么老报错。同样的方法,二个数据库,都建同样的表,表里的字段所有信息完全一样,一个数据库添加外键成功,另一个添加失败?我都无语到易做图了,完全无语。
追问:你说的这些都符合啊。 你qq多少 或者给个联系方式。我引用的父表是innodb引擎 的那个列是 主键 int 类型 8个长度 自增的 子表是innodb引擎的对应的外键是 也是int 类型 8个长度 只不过不是自增的吗 ,你看这个有问题?要不我把Navacat给你打开,你帮我远程协助。或者你你用录屏软件录下建外键的过程,用navicat随便建个库在库里建两个表,只要能建外键就行了。
答案:两个相同的表?另外那个数据库(建外键失败的那个)的表是复制过去的,还是通过ddl建表语句写的?
建外键的原则:
1 innodb引擎
2 子表父表编码一致
3 被引用的父表的键必须是唯一或者是主键
4,主外键类型一致
---如果你是复制过去的,那么主键和唯一键属性是没有的,你仔细核对下
上一个:mysql 数据库操作问题:我再学习语法操作。当我先建立一个外键是,他出现如图所示的错误。
下一个:用友U8只能与sql server数据库相连吗,和mysql不可以吗