MySQL 主键作为外键:错误及解决方案
在 MySQL 中定义外键约束时,必须确保引用表并且引用的表有适当的索引。当使用一个表的主键作为另一个表中的外键时,此要求可能会导致问题。
主键作为外键
您提出的第一个问题是是否可以创建一个同时也是外键的主键。答案是肯定的,有可能,但是有限制。
错误代码1005
您遇到的错误,错误代码1005,表明MySQL无法创建外部键约束,因为引用的表 dbimmobili.Immobile 在外键中引用的列上没有索引
解决方案
要解决此问题,您需要在 dbimmobili.Immobile 表中的 ComuneImmobile、ViaImmobile、CivicoImmobile 和 InternoImmobile 列上创建索引。该索引将确保 MySQL 在执行外键检查时能够有效地找到引用的记录。
创建索引后,您应该能够导出更改而不会遇到错误。
附加说明
需要注意的是,如果外部中使用的列的数据类型,您也可能会遇到问题引用表和被引用表之间的键约束不同。确保数据类型兼容以避免任何潜在的错误。
以上是MySQL外键错误1005:如何解决主键外键冲突?的详细内容。更多信息请关注PHP中文网其他相关文章!