我能否在我的值表(值)中有一列作为 knownValues 表的外键引用,并在需要时将其设为 NULL,如示例所示:
表:值
product type value freevalue
0 1 NULL 100
1 2 NULL 25
3 3 1 NULL
表:类型
id name prefix
0 length cm
1 weight kg
2 fruit NULL
表:已知值
id Type name
0 2 banana
注意:values
和 knownValues
表中的类型当然会引用到 types
表中。
最佳答案
外键中的 NULL 是完全可以接受的。处理外键中的 NULL 很棘手,但这并不意味着您将此类列更改为 NOT NULL 并在引用表中插入虚拟(“N/A”、“Unknown”、“No Value”等)记录。
在外键中使用 NULL 通常需要您使用 LEFT/RIGHT JOIN 而不是 INNER JOIN。
关于mysql - mySQL中的外键和NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2802545/