mysql外键设置时出现不能设置问题。
外键的主要作用是保持数据的一致性、完整性。
主表(父表):对于两个具有关联关系的表而言,相关联字段中主键所在的表就是主表。
从表(子表):对于两个具有关联关系的表而言,相关联字段中外键所在的表就是从表。
外键的使用:
- 外键字段不能为该表的主键;
- 外键字段参考字段必须为参考表的主键。
问题:Failed to add the foreign key constraint. Missing index for constraint 't_user_ibfk_1' in the referenced table 't_login'
检查:主表是否有主键以及从表关联字段是否为从表主键,然后,核对从表字段与主表关联字段的数据类型是否相同,其中是否有不符合的数据。
检查结果,都没有问题,重新删除数据库然后重新建立依旧报错。
解决
该问题是由于主表中设置了两个主键,而在子表中建立外键约束时,只选中了一列作为外键约束,导致不匹配。
将父表中的两列主键均加入到外键约束中,该问题就会解决。
修改后结果:
数据表结构:
至此问题解决。