MySQL:为什么默认为空而不是空?

MySQL:为什么默认为空而不是空?,mysql,Mysql,为什么要将字段默认为NULL,而不是将值留空?这仅仅是为了让您可以查询空值吗 我特别询问INT或其他数字数据类型在MySQL中没有空的概念 例如,int列可以是整数,也可以是NULL 如果不为int列指定默认值,如果尝试插入新行而不为此列指定内容,mysql将引发错误。mysql中没有空的概念 例如,int列可以是整数,也可以是NULL 如果不为int列指定默认值,如果尝试插入新行而不为此列指定内容,mysql将引发错误。因为NULL和empty之间存在语义差异 如果某个字段为空,您如何区分以下

为什么要将字段默认为NULL,而不是将值留空?这仅仅是为了让您可以查询空值吗


我特别询问INT或其他数字数据类型

在MySQL中没有空的概念

例如,int列可以是整数,也可以是NULL


如果不为int列指定默认值,如果尝试插入新行而不为此列指定内容,mysql将引发错误。

mysql中没有空的概念

例如,int列可以是整数,也可以是NULL


如果不为int列指定默认值,如果尝试插入新行而不为此列指定内容,mysql将引发错误。

因为NULL和empty之间存在语义差异

如果某个字段为空,您如何区分以下内容之间的差异

已知该值为空 该值未知
这就是NULL的作用:如果您不知道该值,则使用NULL;如果您知道值空或不空,那么使用它。

因为NULL和empty之间有语义上的区别

如果某个字段为空,您如何区分以下内容之间的差异

已知该值为空 该值未知
这就是NULL的作用:如果您不知道该值,则使用NULL;如果您知道该值-空或不空-则使用它。

定义保留该值为空。空值为null。如果您的意思是empty=0,那么请考虑一个帐户。您可以有一个包含0$的帐户,但也可以没有任何帐户空。0和null之间存在差异。

定义将值保留为空。空值为null。如果您的意思是empty=0,那么请考虑一个帐户。您可以有一个包含0$的帐户,但也可以没有任何帐户空。0和null之间存在差异。

因为INT中没有空值-它是null而不是因为INT中没有空值-它是null