我想在一个表中做一个外键,指向其他值的集合。
例如,我想做一个父表和一个子表。虽然每个家长应该包含所有他的孩子,并且每个孩子都应该包含他的父母。
所以我的问题是我可以在MySQL中这样做吗?如果是,我怎么能这样做,否则我可以使用什么;
答案 0 :(得分:1)
如果我理解正确,这只是一个外键关系:
create table children as (
childId int auto_increment primary key,
parentId int not null,
. . .
constraint fk_children_parent foreign key (parentId) references parents(parentId)
);
这符合你的两个要求:
如果你想要孩子为父母,你可以:
select parentId, group_concat(childId) as children
from children
group by parentId;
答案 1 :(得分:0)
外键定义了一个列(或列集合),用于强制执行两个表之间的关系。数据库服务器有责任强制执行此关系以确保准确的数据。外键的模型定义由父(主)表组成,该表包含一组唯一的数据,然后在子(外部)表中引用。