Customers
customer_id
Orders
order_id
customer_id fk
如果我有两个表,并且在Orders表中的Customer_id上定义了一个外键,通过允许它为NULL,我的意思是我可以拥有一个没有关联客户的订单.因此,可为空的外键的概念似乎与外键的目的不一致,外键的目的是强制执行此约束.
有没有一个简单的例子说明需要一个可以为空的外键?还是支持允许他们的论据?
Customers
customer_id
Orders
order_id
customer_id fk
如果我有两个表,并且在Orders表中的Customer_id上定义了一个外键,通过允许它为NULL,我的意思是我可以拥有一个没有关联客户的订单.因此,可为空的外键的概念似乎与外键的目的不一致,外键的目的是强制执行此约束.
有没有一个简单的例子说明需要一个可以为空的外键?还是支持允许他们的论据?
想象一下,一张桌子上放着一个团队的待办事项.如果尚未将TODO分配给团队成员,则其user_id
为NULL
.如果不是NULL
,则它是users
表的外键.