subject
サブジェクトが別のサブジェクトの前提条件になる可能性があるため、再帰的なテーブルがあります。
- サブジェクトに前提条件はありません
- サブジェクトは 1 つの前提条件を持つことができます
- サブジェクトは 2 つの前提条件を持つことができます
2 つの前提条件を持つサブジェクトがあるため、列を指す FK と列を作成prerequisite_1
しprerequisite_2
ましたsubject_code
。
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_1 CHAR(7),
prerequisite_2 CHAR(7),
PRIMARY KEY(subject_code),
FOREIGN KEY(prerequisite_1, prerequisite_2) REFERENCES subject(subject_code)
)ENGINE=INNODB;
SQL Fiddle でコードを試しましたが、テーブルが作成されていません。
テーブル自身の PK を指す 1 つの PK 列と 2 つの FK 列を持つ再帰テーブルを作成するにはどうすればよいですか?