无法在MySQL表上创建外键

3

当我尝试这样做时

ALTER TABLE Comp_Entry
ADD FOREIGN KEY(CompetitionID) REFERENCES Comp__Competition(CompetitionID)

我遇到了这个错误。
#1005 - Can't create table 'chris_db.#sql-1464b_66' (errno: 150) (<a href="server_engines.php?engine=InnoDB&amp;page=Status&amp;token=7a7f690fbd1413e74979d79fa9044fb0">Details...</a>)

我的Comp_Competition表将CompetitionID设置为主键。有人熟悉这个问题吗?

2个回答

0

因为您的表中存在不符合约束条件的数据(例如不存在的键),

请尝试进行调整。

     select * from Comp_Entry where CompetitionID not in 
        (select distinct CompetitionID from Comp__Competition)

0

您的 Comp_Entry 表需要一个现有的 CompetitionID 索引。此外,您的命令在表 Comp__Competition 的名称中有双下划线字符 __,但在您的说明中只有一个。哪一个是正确的?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接