我正在创建一个包含2个外键的表 但每当我有第二把钥匙时,它都会返回一个错误:
CREATE TABLE reviews(
id INTEGER PRIMARY KEY,
stars INT,
business_id INT,
FOREIGN KEY(business_id) REFERENCES businesses(id),
user_id INT,
FOREIGN KEY (user_id) REFERENCES users(id)
);
它会在user_id
附近引发语法错误,如果我在business_id
之后放置user_id
,则会在business_id
附近抛出语法错误...
如果我只在那里放一个外键,它只会创建表,尝试了几次。这里的问题是什么?
users
和businesses
是两个表,我正在为它们创建联结表。
答案 0 :(得分:1)
不要将列定义与约束定义混合。首先是列,后面是约束:
CREATE TABLE reviews(
id INTEGER PRIMARY KEY,
stars INT,
business_id INT,
user_id INT,
FOREIGN KEY(business_id) REFERENCES businesses(id),
FOREIGN KEY (user_id) REFERENCES users(id)
);