テーブルに以下
nameA、nameB のいずれかが入るカラムがあるとします。
mytable2_ID、my_table3_ID のいずれかが入るカラムがあるとします。
CREATE TABLE IF NOT EXISTS mytable1 ( ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, mytable2_ID INT(10), # いずれかが入る mytable3_ID INT(10), # いずれかが入る FOREIGN KEY (mytable2_ID) REFERENCES mytable2(ID), FOREIGN KEY (mytable3_ID) REFERENCES mytable3(ID)
こういった場合、下記のようにDEFAULT NULL
を設定すべきでしょうか?
CREATE TABLE IF NOT EXISTS mytable1 ( ID INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, mytable2_ID INT(10) DEFAULT NULL, mytable3_ID INT(10) DEFAULT NULL, FOREIGN KEY (mytable2_ID) REFERENCES mytable2(ID), FOREIGN KEY (mytable3_ID) REFERENCES mytable3(ID)
いまいちNULLのメリットやデメリットが理解できておりません…
あると何が便利なのでしょうか?
###修正
誤解があったため内容を次のように修正させていただきます。
「NULL」か「空文字列」か、どちらにすべきか?でした。
ご指摘頂いたmaisumakun様、ありがとうございます。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/29 08:04
2020/06/29 08:08
2020/06/29 08:12 編集
2020/06/29 08:12
2020/06/29 08:13
2020/06/29 08:19 編集
2020/06/29 08:59
2020/06/29 09:06
2020/06/29 09:30 編集
2020/06/29 09:38
2020/06/29 14:05
2020/06/29 14:31
2020/06/29 14:38 編集
2020/06/29 22:20 編集