编辑:用逗号修复了一些内容,但我仍然收到错误
我一直在强调这个SQL查询三天。
CREATE TABLE status_likes (
username VARCHAR(255) NOT NULL,
id INT NOT NULL,
PRIMARY KEY (username,id),
FOREIGN KEY id REFERENCES status (id),
FOREIGN KEY username REFERENCES users (username)
)
它一直给我这个错误:
#1064 - 您的SQL语法出错;检查与MySQL服务器版本对应的手册,以获得正确的语法 靠近'REFERENCES
status
(id
)FOREIGN KEY用户名参考用户 (用户名),'第5行
有谁知道这是什么问题?
谢谢!
答案 0 :(得分:3)
索引中的列名必须在括号中。您在第一个FOREIGN KEY
之后也错过了一个逗号,并在第二个之后有一个额外的逗号。
CREATE TABLE status_likes (
username VARCHAR(255) NOT NULL,
id INT NOT NULL,
PRIMARY KEY (username,id),
FOREIGN KEY (id) REFERENCES status (id),
FOREIGN KEY (username) REFERENCES users (username)
)
答案 1 :(得分:1)
在具有,
FOREIGN KEY username REFERENCES users (username),
CREATE TABLE status_likes (
username VARCHAR(255) NOT NULL,
id INT NOT NULL,
PRIMARY KEY (username,id),
FOREIGN KEY (id) REFERENCES status (id),
FOREIGN KEY (username) REFERENCES users (username)
)
答案 2 :(得分:0)
尝试这样,删除逗号。
CREATE TABLE status_likes (
username VARCHAR(255) NOT NULL,
id INT NOT NULL,
PRIMARY KEY (username,id),
FOREIGN KEY (id) REFERENCES status (id)
FOREIGN KEY (username) REFERENCES users (username)
)