我有一个包含以下列的通知表:
notification_id
- PK message_id
- FK comment_id
- FK 如果我创建了一条消息,它应该插入notification table
message_id
和comment_id
的空值
同样,如果我尝试创建评论,则应插入notification table
comment_id
和message_id
的空值
但它不起作用,所以我对如何实现这一点感到困惑,因为如果我创建了两个名为message_notification table
和comment_notification table
的表,这似乎是一种浪费。
答案 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 );