从表中选择NOT NULL列

时间:2011-09-17 15:14:07

标签: php mysql sql

我的桌子大约有80列。我在表上执行以下查询。

SELECT * FROM mobile_details WHERE id=4;

确认上述查询只返回一行。我想只选择没有值NULL或空的列。我怎么能这样做?

注意:执行此操作的效率非常低的方法是在SELECTing时将NOT NULL放在每列中。但我需要一种更有效和更有效的方法(在PHP代码或MySQL查询中)。

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

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

3 个答案:

答案 0 :(得分:6)

您无法在SQL中以编程方式更改列的列表。它没有语法。

答案 1 :(得分:1)

你没有。你可以做一些诡计,但这不值得。为什么不在处理数据时跳过空列?用PHP检查很容易。此外,您不应在生产中使用SELECT *。只选择您想要的列,如果您想要所有列,请将它们全部列出。

答案 2 :(得分:1)

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