排除 MySQL 的外键约束错误
在 MySQL 中创建外键关系需要仔细注意数据类型兼容性。 外键列和引用的主键列之间的数据类型或长度不匹配将导致“外键约束格式不正确”错误。
这是一个常见的场景:
ID
列(主键),数据类型为 CHAR
。IDFromTable1
列的 ID
列。尝试使用此查询创建外键约束:
<code class="language-sql">ALTER TABLE `table2` ADD CONSTRAINT `FK1` FOREIGN KEY (`IDFromTable1`) REFERENCES `table1` (`ID`) ON UPDATE CASCADE ON DELETE CASCADE;</code>如果
和 IDFromTable1
具有不同的数据类型或长度,ID
将失败。例如,如果 IDFromTable1
为 VARCHAR(50)
并且 ID
为 CHAR(10)
,则不会创建约束。
解决方案:
解决方案很简单:确保外键列和引用列共享完全相同相同的数据类型和长度。 调整列定义以匹配将解决错误并允许成功建立外键关系。
以上是为什么 MySQL 会抛出'外键约束格式不正确”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!