2016-04-15 24 views
-1

質問MySQLは外部キーは

それがヌル外部キーを持つことが有効ですnullもできますか?不利な点はありますか?

______  _________________ 
| id |  | id | id_fk | 
| 1 |  | 1 | 2 | 
| 2 |  | 2 | 5 | 
| 3 |  | 3 |  | 
| 4 |  | 4 | 1 | 
| 5 |  | 5 |  | 
‾‾‾‾‾‾  ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ 
+0

はい。関係がないと仮定して、それはうまくいく。 –

+1

はい、できます。すべてのレコードが別のテーブルへの参照を持っている必要はありません –

+0

はい。あなたが他に信じるように導いた、どんな不愉快な実験をしましたか?あなたは何を求めていますか?それが可能かどうか、またはベストプラクティスが何であるか、それを行うことの肯定的および否定的な点は? – EJP

答えて

1

はい、それは可能であり、無それは悪い習慣ではありません。データベースでクエリを実行するときは、これを考慮に入れてください。あなたの選択で内部結合を実行しようとすると、null値を持つすべての行が自動的に除外されます。外部キーがヌルであっても、その関係に参加したい場合は、外部結合を使用することになります。