我的桌子大约有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。
答案 0 :(得分:6)
您无法在SQL中以编程方式更改列的列表。它没有语法。
答案 1 :(得分:1)
你没有。你可以做一些诡计,但这不值得。为什么不在处理数据时跳过空列?用PHP检查很容易。此外,您不应在生产中使用SELECT *
。只选择您想要的列,如果您想要所有列,请将它们全部列出。
答案 2 :(得分:1)
你应该在php中使用函数array_filter
来过滤空值。