数据表的外键是自己,这个问题怎么解决?

来源:百度知道 编辑:UC知道 时间:2024/06/08 13:55:58
create table sort(
id int primary key auto_increment,
name varchar(50) not null,
description varchar(500),
pid int
);
alter table sort add constraint sfk foreign key(pid) references sort(id);
这是一张类别表,我的想法是一个类别可以有多个子类别,可以有一个父类别,所以如上设计了这个表,但是由于外键约束是自己的表,所以没办法往里面插入数据。。。
是不是只能把外键去掉,那样的话映射成实体类之后,找一个类别的父类别的时候会不会有问题啊?

那样的话,按照范式理论来讲,应该是要写成成三张表才规范的,一级类别与二级类别关联,2级类别与三级类别关联。你那样写实现起来难不说,还不规范
或者傻瓜式点,你做两个相同的表,相互关联不就好了??