如何将空值插入外键?

时间:2015-02-17 16:02:58

标签: mysql sql innodb

我有一个包含以下列的通知表:

  1. notification_id - PK
  2. message_id - FK
  3. comment_id - FK
  4. 如果我创建了一条消息,它应该插入notification table message_idcomment_id的空值

    同样,如果我尝试创建评论,则应插入notification table comment_idmessage_id的空值

    但它不起作用,所以我对如何实现这一点感到困惑,因为如果我创建了两个名为message_notification tablecomment_notification table的表,这似乎是一种浪费。

1 个答案:

答案 0 :(得分:1)

主要创建外键以与主键与另一个指定表匹配。所以逻辑上它不接受NULL值。当然,可以使其接受NULL值。 (http://mysqlrockstar.blogspot.in/

CREATE TABLE notification_table (    notification_id INT NOT NULL,    message_id INT NULL,    comment_id INT NULL );