无法在 mysql 表上创建外键

发布于 2024-10-26 04:23:04 字数 472 浏览 6 评论 0原文

当我尝试此操作时

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

When I try this

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

I get this error

#1005 - Can't create table 'chris_db.#sql-1464b_66' (errno: 150) (<a href="server_engines.php?engine=InnoDB&page=Status&token=7a7f690fbd1413e74979d79fa9044fb0">Details...</a>)

My Comp_Competition table has CompetitionID set as the primary key. Is anyone familiar with this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

來不及說愛妳 2024-11-02 04:23:04

您的 Comp_Entry 表需要一个现有的 ComparisonID 索引。另外,您的命令在表 Comp__Competition 的名称中有两个 __ 字符,但在您的解释中只有一个。哪一个是正确的?

Your Comp_Entry table needs an existing index for CompetitionID. Also, your command has a double __ characters in the name for table Comp__Competition, but in your explanation you have only one. Which one is right?

遗心遗梦遗幸福 2024-11-02 04:23:04

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

请尝试使

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

Because there is data in your table which does not feet to your constraint (for example nonexistent keys)

try to make

     select * from Comp_Entry where CompetitionID not in 
        (select distinct CompetitionID from Comp__Competition)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文