-1
在我在这个论坛的第一个问题,我了解到,MySQL
对待NULL
和empty string
不同。作为一个以数据库为中心的开发人员,我可以接受这一点,甚至可以看到它的潜在用途。但我不明白这是如何在实际的应用程序与前端应用程序的作品。MySQL的:NULL与空字符串与前端应用
假设您有一个用于输入联系信息的php应用程序。如果(在数据库中),该人的中间名是NULL
,这意味着我们不知道该人是否有中间名。
如果是empty string
,我们知道该人没有中间名。
但是,在网页的形式,你可以做出这种区别?我不知道如何。我看不到使用(以及从未见过)的复选框或选项,以告诉应用程序文本字段未知与空(无)。
所以,请赐教,告诉我如何在数据库中加以区分,为全局增添价值。
谢谢。
Null与'data'分开存在。除非你有一个复选框来表示空值,否则你不能区分null-as-empty-string v.s. null-as-unknown-value –
是的,但你有没有见过这样做?我还没有。那么为什么MySQL如果没有切实可行的方法来利用这种区别,那么它们会以不同的方式对待它们呢? –
,因为“未知”与“空字符串”或“0”不同。考虑一个可能存在记录但其价值未知的财务应用程序。如果您将这些记录的值设置为0并执行“选择平均(价格)”,那么这些0将影响实际平均值。如果它们为空,它们将被忽略并且不会影响平均值。一个空的中间名将是“不知道他们的名字是什么”。一个空白字符串是“他们根本没有中间名”。 –