/ / MySQLデータベースでnullを使って作業する。 3つの外部キーのうちの1つはnullではありません。 - mysql、データベース設計、null、外部キー関係

MySQLデータベースでnullを使って作業する。 3つの外部キーの1つがnullでない必要があります。 - mysql、データベースデザイン、ヌル、外部キー関係

私の問題は、私は外部キーを持つテーブルを作成する必要があるということです、そして3つの外部キーの1つはNOT NULLでなければならず、残りはNULLでなければなりません。 それを解決するためにMySQLに何かがありますか? マイケル。

回答:

回答№1は1

NULL可能な外部キーを避けます - それらには数があります問題と欠点の値が存在しないときにそれらの列にNULLを作成する必要がないように、それらの列を別々の表に入れる方が一般的には簡単で優れています。 3つの列を1つの表にまとめる特別な理由がない限り、それがデフォルトのアプローチであるはずです。


回答№2の場合は0

外部キー制約 例:

CREATE TABLE parent
(
id INT NOT NULL, PRIMARY KEY (id)
) ENGINE=INNODB;

CREATE TABLE child
(
id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id)

) ENGINE=INNODB;