【发布时间】:2021-11-05 03:29:31
【问题描述】:
我的数据库中有一个名为 "countries" 的表和另一个名为 "country_continents" 的表。我想在 countries 中创建我的 continent_id 列,一个 外键 引用 country_continents 的 id,但是我收到一条错误消息。这是创建外键的SQL和错误:
ALTER TABLE countries
ADD CONSTRAINT fk_continent_id
FOREIGN KEY (continent_id)
REFERENCES country_continents(id);
错误: #1215 - 无法添加外键约束
起初,我得到的是:
“错误:关系功能被禁用”
所以我运行了命令 ALTER TABLE countries ENGINE=InnoDB; 和 ALTER TABLE country_continents ENGINE=InnoDB;,但现在我得到了 #1215 错误。
对发生的事情有任何想法吗?提前致谢。
【问题讨论】:
-
country_continents(id)被声明为主键了吗? -
它们是相同的数据类型吗?请分享表格定义。 (stackoverflow.com/questions/16969060/…)
-
@GordonLinoff 是的,它是主键。
-
@Akina 表是从 Laravel 中迁移创建的,所以我没有 CREATE TABLE。
-
执行
SHOW CREATE TABLE tablename;并提供输出。
标签: mysql sql database phpmyadmin