尝试修改MySQL中的表时出错

时间:2014-11-05 17:55:38

标签: mysql

我正在尝试向我的表中添加一个列并使其成为外键但我一直收到此错误:

  

错误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)

请帮助很好。

1 个答案:

答案 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);