MySQL SELECT * FROM(包括 NULL 值)

MySQL SELECT * FROM (including NULL values)

也许我很愚蠢,也许我很盲目,但我只是 Swift 试图处理 MySQL.

某些方面的开发人员

我有一个包含几列的简单 table:

id INT NOT NULL
name VARCHAR NOT NULL
age INT ALLOW NULL
domain VARCHAR NOT NULL 

所以唯一的列 'age' 可能是 NULL。当我做 SELECT * 时,我根据 'age' 值收到 (id, name, domain)(id, name, age, domain)

即使年龄是 NULL,我怎样才能得到一行中的所有 4 列?所以它可能是这样的:(453, John, NULL, johnDoe)(453, John, 37, johnDoe).

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

编辑: 让我的 table 也有这些列:

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

所以如果我获取数据,它可能是 7 个值(如果一切都已设置)或 6 个值,如果 smth 没有设置,那么如何知道什么是设置的,什么不是?

您可以使用简单的查询来获取所有四列的结果。如果 "age" 列不包含任何值,那么它将 return "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 年龄。