从表中选择NOT NULL列


Selecting NOT NULL columns from a table

我的表大约有80列。我正在对表执行以下查询。

SELECT * FROM mobile_details WHERE id=4;

确认上面的查询将只返回一行。我想只选择不具有值NULL或空的列。我该怎么做呢?

注意:一种非常低效的方法是在选择时将NOT NULL放在每一列中。但我需要一个更高效和有效的方式(无论是在PHP代码或MySQL查询)。

我可以这样做吗?SELECT * FROM mobile_details WHERE id=4 AND mobile_details.* NOT NULL;

我在CentOS服务器上使用PHP + MySQL + Apache

在SQL中不能以编程方式更改列列表。没有相应的语法

你没有。你可以耍点花招,但不值得。为什么在处理数据时不直接跳过空列呢?在PHP中很容易检查。另外,不应该在生产环境中使用SELECT *。只选择你想要的列,如果你碰巧想要所有的列,列出它们。

你应该在php中做,使用array_filter函数来过滤空值