Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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_Hierarchical Data - Fatal编程技术网

如何在Mysql中建立自我关系?

如何在Mysql中建立自我关系?,mysql,hierarchical-data,Mysql,Hierarchical Data,我正在使用Heidi,我有一张桌子: 表格类别: 身份证 头衔 家长id 字段parent_id是id的一个引用。这样我就可以对类别和子类别进行无限制的层次结构。如何在mysql语法中创建此关系?如果您的意思是如何创建外键约束,您只需要执行以下操作: CREATE TABLE `EXAMPLE` ( `ID` int(11) NOT NULL, `TITLE` varchar(255) NOT NULL, `PARENT_ID` int(11) DEFAULT NUL

我正在使用Heidi,我有一张桌子:

表格类别:

  • 身份证
  • 头衔
  • 家长id

字段parent_id是id的一个引用。这样我就可以对类别和子类别进行无限制的层次结构。如何在mysql语法中创建此关系?

如果您的意思是如何创建外键约束,您只需要执行以下操作:

CREATE TABLE `EXAMPLE` (
    `ID` int(11) NOT NULL,
    `TITLE` varchar(255) NOT NULL,
    `PARENT_ID` int(11) DEFAULT NULL,
    PRIMARY KEY (`ID`),
    KEY `PARENT_ID` (`PARENT_ID`),
    CONSTRAINT `PARENT` FOREIGN KEY (`PARENT_ID`) REFERENCES `EXAMPLE` (`ID`)
);

首先,您的表是否使用INNODB?是-默认存储引擎:INNODBNo,它不是外键关系。我需要在这张桌子上做一个自我关系。parent_id指的是IDI,如果您以我提供的DDL为例,它就是这样做的。它创建自引用外键约束。