私の問題は、私は外部キーを持つテーブルを作成する必要があるということです、そして3つの外部キーの1つはNOT NULLでなければならず、残りはNULLでなければなりません。 それを解決するためにMySQLに何かがありますか? マイケル。
回答:
回答№1は1NULL可能な外部キーを避けます - それらには数があります問題と欠点の値が存在しないときにそれらの列に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;