我正在尝试向我的表中添加一个列并使其成为外键但我一直收到此错误:
下面的错误1064(42000):您的SQL语法有错误;检查 手册,对应右边的MySQL服务器版本 在' FOREIGN KEY(idplayer)REFERENCES附近使用的语法 播放器(playersid)'在第1行
是我在alter statement之前的代码:
CREATE TABLE transactions
(
transid INT UNSIGNED NOT NULL AUTO_INCREMENT,
type VARCHAR(20),
fromteam VARCHAR(30),
toteam VARCHAR(30),
idplayer INT UNSIGNED NOT NULL,
PRIMARY KEY(transid)
);
现在我尝试更改idplayer并将其设为外键:
ALTER TABLE transactions
MODIFY idplayer INT UNSIGNED NOT NULL
FOREIGN KEY(idplayer) REFERENCES players(playersid)
请帮助很好。
答案 0 :(得分:0)
首先,你在NOT NULL
之后缺少一个逗号,其次你需要告诉mysql添加CONSTRAINT
。试一试:
ALTER TABLE `events`
MODIFY idplayer INT UNSIGNED NOT NULL,
ADD CONSTRAINT `FK_Name` FOREIGN KEY (idplayer) REFERENCES players(playersid);