是的,另一个 NULL 与空字符串的问题。
我同意 NULL 表示未设置,而空字符串表示“空值”的想法。这是我的问题:如果列的默认值为 NULL,我如何允许用户输入该 NULL。
假设在系统上创建了一个新用户。有一个名字和姓氏字段;姓是必需的,而名字不是。创建用户时,此人将看到 2 个文本输入,一个用于第一个,一个用于最后一个。此人选择仅输入姓氏。名字在技术上没有设置。在插入期间,我检查每个字段的长度,将所有为空的字段设置为 NULL。
查看数据库时,我看到没有设置名字。立即想到的问题是,也许他们从未见过名字字段(即,由于错误)。但这种情况并非如此; 如果空白,他们就离开了。
所以,我的问题是,当接收用户输入时,您如何决定何时将字段设置为 NULL 或空字符串?你怎么知道用户希望在没有检测到焦点的情况下不设置该字段,或者他们是否删除了一个值......或......或......?