我有一个episode表,其中包含episodeID(PK),airdatetitle

我有一个show表,其中showID(PK)是VARCHAR(5)

我正在使用以下内容:

ALTER TABLE episode
ADD FOREIGN KEY (showID)
REFERENCES show(showID);


我得到这个错误:


  1064-您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册,以在第3行的“ show(showID)”附近使用正确的语法

最佳答案

您想添加一个外键约束,所以我建议命名它。

但是,您的问题是show是保留字:

ALTER TABLE episode ADD CONSTRAINT fk_episode_showid
     FOREIGN KEY (showID) REFERENCES `show`(showID);


我通常以复数形式(shows而不是show)来命名表。这两个都捕获到它们包含多个行。并且,这也使它们与保留字冲突的可能性大大降低。

09-05 21:16