我无法弄清楚为什么我不能在我的桌子上添加外键......有人可以帮帮我吗?这就是我遇到的问题:
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和价格添加为外键。
答案 0 :(得分:0)
以下是文档说的内容:
FOREIGN KEY约束不必仅链接到PRIMARY 另一个表中的KEY约束;它也可以定义为参考 另一个表中UNIQUE约束的列。
所以album_title
和price
应该是PRIMARY KEY,或者Albums
表中应该有UNIQUE Constraint。