如何向外键插入空值?

How to insert null values to a foreign key?

我有一个通知 table,其中包含以下列:

  1. notification_id - PK
  2. message_id - FK
  3. comment_id - FK

如果我创建一条消息,它应该在 notification table 中插入 message_idcomment_id

的空值

同样,如果我尝试创建评论,它应该在 notification table 中插入 comment_idmessage_id

的空值

但它不起作用,所以我很困惑我将如何实现它,因为如果我创建两个名为 message_notification table 的 table 似乎是一种浪费和 comment_notification table.

创建外键主要是为了与另一个指定的主键匹配table。所以逻辑上它不接受 NULL 值。当然可以让它接受 NULL 值。 (http://mysqlrockstar.blogspot.in/)

创建 TABLE notification_table ( notification_id INT 不为空, message_id 整数为空, comment_id INT 空值 );