我试图将一列添加到我的表中并使其成为外键,但我不断收到此错误:
错误1064(42000):您的SQL语法有错误;检查
与您的MySQL服务器版本相对应的手册
在'FOREIGN KEY(idplayer)附近使用的语法
第1行的玩家(playersid)'
下面是我在alter语句之前的代码:
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)
请协助将是巨大的。
最佳答案
首先,您在NOT NULL
之后缺少逗号,其次,您需要告诉mysql添加CONSTRAINT
。试试看:
ALTER TABLE `events`
MODIFY idplayer INT UNSIGNED NOT NULL,
ADD CONSTRAINT `FK_Name` FOREIGN KEY (idplayer) REFERENCES players(playersid);