【问题标题】:Error Code: 1215. Cannot add foreign key constraint. Foreign key problem [duplicate]错误代码:1215。无法添加外键约束。外键问题[重复]
【发布时间】:2020-04-04 22:25:50
【问题描述】:
create table methodology(
method_id int primary key,
date_added date,
description varchar(1000) character set utf8);

create table text_item(
t_id int primary key,
date_written date,
original_language varchar(2),
description varchar(1000) character set utf8,
foreign key(date_written) references methodology(date_added));

我正在尝试使用代码创建外键:foreign key(date_written) references methodology(date_added));,但它一直给我以下错误:错误代码:1215。无法添加外键约束。

【问题讨论】:

  • edit您的问题包含您收到的完整错误消息。

标签: mysql sql foreign-keys ddl create-table


【解决方案1】:

确切的错误信息是(重点是我的):

添加外键约束失败。 引用表“methodology”中的约束“text_item_ibfk_1”缺少索引

这很清楚。您需要在引用列上建立索引。只需创建它:

create index idx_methodology_date_added on methodology(date_added);

然后您可以创建text_item 表。

Demo on DB Fiddle

注意:虽然这在技术上可行,但尚不清楚这种关系的目的是什么;如果你想引用methodology 中的一行,你最好引用它的主键列(method_id)。

【讨论】:

    猜你喜欢
    • 2013-07-15
    • 1970-01-01
    • 2016-10-27
    • 2016-05-01
    • 2018-11-10
    • 2020-11-17
    相关资源
    最近更新 更多