【发布时间】:2008-10-31 16:41:28
【问题描述】:
我很想知道 NULL 是如何存储到数据库中的?
这当然取决于数据库服务器,但我想大致了解一下。
第一次尝试:
假设服务器将一个未定义的值(可以是任何值)放入 NULL 值的字段中。
你能不能很幸运并用
检索NULL值...WHERE field = 'the undefined value (remember, could be anything...)'
第二次尝试:
服务器是否有标志或任何元数据表明该字段为 NULL ?
那么服务器必须读取这个元数据来验证字段。
如果元数据指示 NULL 值并且查询没有“字段 IS NULL”, 然后记录被忽略。
好像太简单了……
【问题讨论】:
-
服务器确实有某种标志,服务器读取元数据以验证该字段。仅仅因为该值为 NULL,并不意味着该记录被忽略——原因很多很多(通常很复杂)。