向单个表添加多个外键

Ant*_*tts 1 mysql innodb foreign-key table

我正在尝试将多个外键添加到同一个表中;但是,不断弹出错误代码 1215:无法添加外键约束。我读过其他人关于同一主题的帖子并尝试添加 innodb,但错误仍然弹出。任何帮助表示赞赏!

这是我的代码:

Create Database if not exists Research;
Use Research;

Create table if not exists CompanyInfo
(
CID int primary key, Company varchar(45), 
SIC int, InnovativeIndex int
) 
engine = innodb;

Create table if not exists TimePeriod
(
Year int primary key, GDP int, GDPgrowth int, 
inflation decimal(5,2), unemployment decimal(5,2)
) 
engine = innodb;

Create Table If not exists CompanyRank 
(
CID int, Year int, IndexYN int, SPRank int, FortuneRank int, 
primary key (CID, Year), index (CID), Index(year),
foreign key (CID) references CompanyInfo.CID,
foreign key (Year) references TimePeriod.Year
) 
engine = innodb;
Run Code Online (Sandbox Code Playgroud)

小智 5

您遇到语法问题,请尝试以下操作:

Create Table If not exists CompanyRank
(
CID int, Year int, IndexYN int, SPRank int, FortuneRank int,
primary key (CID, Year), index (CID), Index(year),
foreign key (CID) references CompanyInfo (CID),
foreign key (Year) references TimePeriod (Year)
) engine = innodb;
Run Code Online (Sandbox Code Playgroud)

引用是“CompanyInfo (CID)”,而不是“CompanyInfo.CID”