gpt4 book ai didi

MySQL:我需要外键吗?

转载 作者:行者123 更新时间:2023-11-29 13:52:01 26 4
gpt4 key购买 nike

我有一个名为“PeopleCategory”的表,它包括PeopleCategoryID,描述

我添加了两条记录

1, Customers
2, Partners

然后我有一个表“People”,它包括 PeopleID、PeopleCategoryID、Name

一些记录:

1, 1, George
2, 1, John
3, 2, Nick

PeopleCategoryID 告诉我们定义了什么样的人。

我需要外键吗?我尝试了这段代码:

ALTER TABLE PeopleCategories
ADD CONSTRAINT FK_test
FOREIGN KEY (PeopleCategoryID) REFERENCES People(PeopleCategoryID)
ON UPDATE CASCADE
ON DELETE CASCADE;

但是失败并出现错误 150。

有什么想法吗?

最佳答案

如果要添加外键,则应该朝相反的方向:

ALTER TABLE People
ADD CONSTRAINT FK_test
FOREIGN KEY (PeopleCategoryID) REFERENCES PeopleCategory(PeopleCategoryID)
ON UPDATE CASCADE
ON DELETE CASCADE;

这样,人员就依赖于类别,如果没有相应的类别,您就无法向人员添加内容。

您可能会收到该错误,因为该列不是 People 表中的主键。

关于MySQL:我需要外键吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16549798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com