【SQL】创建外键约束报错 Referencing column xxx and referenced column xxx in foreign key constraint...

问题描述

创建外键约束时报错。

[HY000][3780] Referencing column 'author_id' and referenced column 'id' in foreign key constraint 'post_user_id_fk' are incompatible.

【SQL】创建外键约束报错 Referencing column xxx and referenced column xxx in foreign key constraint..._第1张图片


原因分析

这个错误是由于在创建外键约束时,引用列(referenced column)和被引用列(referencing column)的数据类型不兼容导致的。

在案例的表中,可能存在一个名为 post_user_id_fk 的外键约束,该约束引用了 author_id 列,并且该列的数据类型与被引用的 id 列的数据类型不兼容。


解决方案

需要确保引用列和被引用列的数据类型相同。

  1. 检查 author_id 列和 id 列的数据类型,确保它们匹配。
  2. 如果数据类型不匹配,你需要调整其中一个列的数据类型以使其与另一个列兼容。

举个例子,假设 author_id 列的数据类型是 INT,而 id 列的数据类型是 BIGINT。你可以将其中一个列的数据类型更改为与另一个列相匹配。例如,将 author_id 的数据类型更改为 BIGINT

注意:在修改列的数据类型之前,确保你的数据表中没有任何重要数据,因为修改数据类型可能会导致数据丢失。

调整了数据类型后,再次尝试创建外键约束,应该就不会再出现兼容性错误了。

你可能感兴趣的:(SQL,sql,chrome,数据库)