来自同一表的两个外键,得到错误1822

时间:2018-10-14 23:31:26

标签: mysql foreign-keys

我有以下代码:

CREATE TABLE itemMeta (
    name VARCHAR(50), -- Relevant line
    year YEAR, -- Relevant line
    director VARCHAR(30),
    production_company VARCHAR(30),
    dateAdded DATE,
    language VARCHAR(20),
    current_episode INT,
    total_episodes INT,
    rating INT CHECK (rating <= 5 AND rating > 0),
    PRIMARY KEY (name , year)
);
CREATE TABLE item (
    name VARCHAR(50),
    year YEAR,
    length INT,
    studio VARCHAR(30),
    genre VARCHAR(30),
    type CHAR(1) CHECK (type = 's' OR type = 'f'),
    PRIMARY KEY (name , year),
    FOREIGN KEY (name)
        REFERENCES itemMeta (name),
    FOREIGN KEY (year)
        REFERENCES itemMeta (year)

但是创建“ item”表失败,并且出现以下消息:“错误代码:1822。无法添加外键约束。在引用表“ itemmeta”中约束“ item_ibfk_2”时缺少索引”。

我在stackoverflow上查看了其他1822错误,它们似乎是由fk的数据类型不同或fk的数据不唯一引起的。但这对我而言并非如此,它们属于同一类型,并且都是唯一的。那是什么引起的,我该如何解决?

0 个答案:

没有答案