错误代码:1215。无法添加外键约束。外键问题

问题描述 投票:-1回答:1
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。无法添加外键约束。

mysql sql ddl create-table
1个回答
0
投票

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

无法添加外键约束。 参考表'方法'中约束'text_item_ibfk_1'的缺少索引

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

create index idx_methodology_date_added on methodology(date_added);

然后您可以创建text_item表。

Demo on DB Fiddle

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

© www.soinside.com 2019 - 2024. All rights reserved.