python - 错误代码 1215 : Why Can't I Add Foreign Key

标签 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 和 Price 作为外键。

最佳答案

文档内容如下:

A FOREIGN KEY constraint does not have to be linked only to a PRIMARY KEY constraint in another table; it can also be defined to reference the columns of a UNIQUE constraint in another table.

因此,album_titleprice 应该是 PRIMARY KEY,或者应该在 Albums 表中具有唯一约束。

关于python - 错误代码 1215 : Why Can't I Add Foreign Key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42896507/

相关文章:

Python dateutil parser.parse ("On") 与今天一样

python - 向mysql中插入数据

python - 为什么使用列表推导式创建元组列表需要括号?

python - 医院等候时间的情绪分析

php - mySQL中如何将一批数据添加到一批数据中?

php - 简单 INSERT 的 MySQL 语法错误?

php - 将选择值传递给另一个页面 php

php - 存储每日页面浏览量以及总数的最有效方式

python - 删除 Tkinter Canvas 上的部分图像,露出下面的另一张图像

python - 我不明白 format() 和 ... (python) 之间有什么区别