数据库表的设计中,外键是自己的主键…

数据库表的设计中,外键是自己的主键 ,请问这样做的含义是什么?

阅读 6.8k
3 个回答

还是看实际应用啊,比如涉及到层级的数据模型就得这样啊
比如你有一个机构表 tbl_org

CREATE TABLE `tbl_org` (
  `org_id` bigint(6) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `org_name` varchar(50) DEFAULT NULL COMMENT '机构名称',
  `level` smallint(1) NOT NULL COMMENT '机构级别',
  `org_pid` bigint(6) DEFAULT NULL COMMENT '父级别机构id',
  `address` varchar(50) DEFAULT NULL COMMENT '地址',
  PRIMARY KEY (`org_id`),
  KEY `org_pid` (`org_pid`),
  CONSTRAINT `fk_org_pid` FOREIGN KEY (`org_pid`) REFERENCES `tbl_org` (`org_id`)
)

数据库存树状结构

多层结构,父子关系