1

我正在尝试创建一个名为 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;

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

4

1 回答 1

0

是的。

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

您可以在此处查看示例。这个想法总是一样的。

于 2013-07-21T00:52:17.370 回答