错误代码1215:为什么我不能添加外键

时间:2017-03-20 05:38:36

标签: python mysql

我无法弄清楚为什么我不能在我的桌子上添加外键......有人可以帮帮我吗?这就是我遇到的问题:

CREATE TABLE Albums(
album_id INTEGER,
producer_id CHAR(6)NOT NULL,
release_date DATE,
album_title VARCHAR(30)NOT NULL,
price NUMERIC(5,2),
PRIMARY KEY(album_id),
FOREIGN KEY(producer_id)REFERENCES Musicians(sin));

以上代码有效

CREATE TABLE Orders(
order_id INTEGER NOT NULL,
album_id INTEGER,
album_title VARCHAR(30)NOT NULL,
price NUMERIC(5,2),
PRIMARY KEY(order_id, album_id),
FOREIGN KEY (album_id) REFERENCES Albums(album_id),
FOREIGN KEY (album_title) REFERENCES Albums(album_title),
FOREIGN KEY (price) REFERENCES Albums(price));

但这并不是。我不知道为什么,但我无法将album_title和价格添加为外键。

1 个答案:

答案 0 :(得分:0)

以下是文档说的内容:

  

FOREIGN KEY约束不必仅链接到PRIMARY   另一个表中的KEY约束;它也可以定义为参考   另一个表中UNIQUE约束的列。

所以album_titleprice应该是PRIMARY KEY,或者Albums表中应该有UNIQUE Con​​straint。