Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL SELECT*FROM(包括空值)_Mysql_Null_Perfect - Fatal编程技术网

MySQL SELECT*FROM(包括空值)

MySQL SELECT*FROM(包括空值),mysql,null,perfect,Mysql,Null,Perfect,也许我很愚蠢,也许我是瞎子,但我是唯一一个尝试处理MySQL某些方面的敏捷开发人员 我有一个简单的表,有几列: id INT NOT NULL name VARCHAR NOT NULL age INT ALLOW NULL domain VARCHAR NOT NULL 因此,唯一的列“age”可能是NULL。当我选择*时,我会根据“年龄”值接收(id、姓名、域)或(id、姓名、年龄、域) 即使age为NULL,如何获取行中的所有4列?所以它可能是这样的:(453,John,NULL,jo

也许我很愚蠢,也许我是瞎子,但我是唯一一个尝试处理MySQL某些方面的敏捷开发人员

我有一个简单的表,有几列:

id INT NOT NULL
name VARCHAR NOT NULL
age INT ALLOW NULL
domain VARCHAR NOT NULL 
因此,唯一的列“age”可能是
NULL
。当我选择*时,我会根据“年龄”值接收
(id、姓名、域)
(id、姓名、年龄、域)

即使age为
NULL
,如何获取行中的所有4列?所以它可能是这样的:
(453,John,NULL,johnDoe)
(453,John,37,johnDoe)

为了访问MySQL服务器,我使用Swift Perfect的原生MySQL框架

编辑: 让我的表也包含以下列:

randomValue1 INT ALLOW NULL
randomValue2 INT NOT NULL
randomValue3 INT ALLOW NULL

因此,如果我提取数据,它可能是7个值(如果所有内容都已设置)或6个值(如果未设置smth),那么如何知道设置了什么和未设置什么呢?

您可以使用简单的查询来获取所有四列的结果。若“age”列不包含任何值,那个么它将返回“null”,否则所有列的值都将出现在输出中

SELECT id, name, age, domain FROM TABLE_NAME;

如果您可以使用默认值,比如-1(或0或其他),那么可以使用
coalesce(age,-1)
来获取该值,而不是null

select id, name, coalesce(age, -1) age, domain from t;

并在应用程序中正确处理
-1
年龄。

查看用于进行查询的代码将非常有用
从TABLENAME中选择id、名称、年龄、域。它工作正常。选择*将为您提供所有4列,包括年龄为空的行。您的意思是,如果值不存在,您希望获取字符串NULL吗?若然,原因为何?如果您这样做,您将把所有行中的年龄转换为string.SELECT*FROM list,其中id='(id)'@GurV这是一个简单的例子。我有另一个表,更大,它包含3列空值,所以当我收到数据时,我需要解析它。如果我使用简单的“count”函数,它不表示哪些列为NULL。如果age为“NULL”,我接收的值数组的计数为3