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设置为主键。有人熟悉这个问题吗?

4

2 回答 2

0

您的 Comp_Entry 表需要 CompetitionID 的现有索引。此外,您的命令在 Comp__Competition 表的名称中有一个双__字符,但在您的解释中,您只有一个字符。哪一个是对的?

于 2011-03-24T04:05:24.540 回答
0

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

试着做

     select * from Comp_Entry where CompetitionID not in 
        (select distinct CompetitionID from Comp__Competition)
于 2011-03-24T04:08:20.567 回答