mysql - SQL DDL : Creating a recursive table (MySQL)

标签 mysql database recursion ddl create-table

我正在尝试创建一个名为 Subject 的递归实体。一个主题可以是另一个主题的先决条件,这就是它是递归的原因。这是我目前所拥有的:

CREATE TABLE subject(
    subject_code CHAR(7),
    subject_desc VARCHAR(255) NOT NULL,
    no_of_units TINYINT UNSIGNED NOT NULL CHECK (no_of_units > 0 AND no_of_units < 13),
    prerequisite CHAR(7),
    PRIMARY KEY (subject_code),
    FOREIGN KEY (prerequisite) REFERENCES subject(subject_code)
)ENGINE=INNODB;

以上是创建递归表的正确方法吗?

最佳答案

是的。

您真正需要的只是一个与父主题关联的“父”列。您的先决条件列可以解决问题。

你可以查看一个例子here .理念始终如一。

关于mysql - SQL DDL : Creating a recursive table (MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17768041/

相关文章:

php - 更新 mysql 数据库中的记录时,bind_param() 出错

php - 使用下拉菜单编辑 mysql 数据

php - EAV 与我的数据的基于列的组织

对象上的javascript递归永远不会结束

python - 如何递归地生成多词术语?

php - 为什么我的 sql 准备语句没有给出正确的响应?

java - Oracle Select for update 不起作用,有时会在一段时间后挂起

c++ - SQLAPI++ 的免费替代品?

python - Python 中的简单合并排序错误

mysql - Mysql查询从每组中选择行数