Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 数据库设计——引用同一表中另一行的行_Mysql_Sql_Database Design_Database Schema - Fatal编程技术网

Mysql 数据库设计——引用同一表中另一行的行

Mysql 数据库设计——引用同一表中另一行的行,mysql,sql,database-design,database-schema,Mysql,Sql,Database Design,Database Schema,我目前正在设计一个MySQL数据库,它存储与域相关的信息。域别名属于一个域,即它们有一个父级,因此将引用父级字段中同一表中的一行 域 id | name | parent 1 | bob.com | NULL 2 | bobcompetition.com | 1 id |姓名|家长 1 | bob.com |空 2 | bobcompetion.com | 1 这里的问题是,我故意为非别名域定义基于null的记录,并且引用同一表中的行

我目前正在设计一个MySQL数据库,它存储与域相关的信息。域别名属于一个域,即它们有一个父级,因此将引用父级字段中同一表中的一行

id | name | parent 1 | bob.com | NULL 2 | bobcompetition.com | 1 id |姓名|家长 1 | bob.com |空 2 | bobcompetion.com | 1 这里的问题是,我故意为非别名域定义基于null的记录,并且引用同一表中的行可能会造成困难

您建议我如何对这些数据进行建模

domains « domain_aliases 域«域»别名 这可能是一种方法,但域别名是域。基本上,所有域都应该位于domains表中,但我需要一种方法将一个域引用到它的“父”或“主”域。

那么,如何:

域名:ID,name

别名:ParentId、ChildId

(域表的两个外键)


这样,所有域都在域表中,您仍然可以找到关系

基本上,您希望在单个数据库表中存储树的集合…感谢指针。我发现了一篇关于这方面的好文章:我知道mysql不支持递归查询,但如果ti希望这样的东西能满足您的需要,IMHO。注意:我不想在这里引发平台战争,但您的需求似乎存在冲突。如果您想更接近原始设计,请将
别名.ChildId
设置为唯一。