MySQL外键可以为空吗

MySQL外键可以为空吗,mysql,Mysql,问题 具有空外键是否有效?有什么缺点吗 示例 ______ _________________ | id | | id | id_fk | | 1 | | 1 | 2 | | 2 | | 2 | 5 | | 3 | | 3 | | | 4 | | 4 | 1 | | 5 | | 5

问题

具有空外键是否有效?有什么缺点吗

示例

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

是的,这是可能的,不,这不是坏习惯。您需要确保在数据库上运行查询时考虑到这一点。如果尝试使用选择运行内部联接,则将自动排除具有空值的所有行。如果您希望在外键为空的情况下加入该关系,则需要使用外部联接。

是。如果没有关系的话,这样做很好。是的,你可以。并非每个记录都必须有对另一个表的引用是。你做了什么错误的实验,让你相信不是这样的?你在问什么?是否可能,或者最佳实践是什么,或者这样做的积极和消极点是什么?如果可能,并且它可能会产生未来的问题,因为我遇到了很多与空外键相关的问题。