试图修改MySQL中的表时出错
我试图向表中添加一列,并将其设置为外键,但始终出现以下错误: 错误1064 42000:您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 使用近“外部KeyIdLayer引用”的语法 第1行的playersplayersid' 下面是我在alter语句之前的代码:试图修改MySQL中的表时出错,mysql,Mysql,我试图向表中添加一列,并将其设置为外键,但始终出现以下错误: 错误1064 42000:您的SQL语法有错误;检查 与右边的MySQL服务器版本相对应的手册 使用近“外部KeyIdLayer引用”的语法 第1行的playersplayersid' 下面是我在alter语句之前的代码: CREATE TABLE transactions ( transid INT UNSIGNED NOT NULL AUTO_INCREMENT, type VARCHAR(
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添加约束。尝试一下:
ALTER TABLE `events`
MODIFY idplayer INT UNSIGNED NOT NULL,
ADD CONSTRAINT `FK_Name` FOREIGN KEY (idplayer) REFERENCES players(playersid);
@Ryab Naddy为什么要添加一个约束FK_名称我想这是可选的,我只是一直在使用它,但最重要的是,你忽略了逗号