【问题标题】:Is there any "short way" to check for multiple empty fields in large tables?是否有任何“捷径”来检查大表中的多个空字段?
【发布时间】:2019-12-02 01:20:15
【问题描述】:

我有一个有很多列的大表,我想检查是否有任何列是空的

我解决这个问题的方法是编写查询并逐列检查,但对于超过 20 列的表来说,这不是一个好习惯,查询会很长而且写起来很累

Select * from Table_name where `col1` = '' or `col2` = '' or `col3` = '' or `col3` = '' or `col4` = '' or `col5` = '' or `col6` = '' or `col7` = '' or ....... `col20` = '' 

是否有任何“Loop like”查询来循环所有列名而不将它们写在查询中并一一检查?

编辑对于将我的问题标记为重复的人:

我的问题要求一次检查所有列是否为 Null 或空不仅仅是一列

【问题讨论】:

  • 不应该以这种方式定义关系数据库,因此没有任何调整可以使这更容易。不过,您可以在代码中扩展它,使用列数组进行检查。这有助于最大限度地减少您编写的代码量以及潜在的印刷错误。
  • @MustafaSalihAslım 我不认为这是重复的,这个问题是如何检查单个字段是否为空或为空,这个问题是如何检查多个字段是否为空捷径
  • 请注意,此类问题可能是设计不佳(标准化不足)的症状。

标签: mysql


【解决方案1】:

你可以使用WHEREIN()

SELECT * FROM Table_name WHERE "" IN (col1,col2,col3...)

【讨论】:

    猜你喜欢
    • 2014-09-17
    • 2014-04-28
    • 2022-12-18
    • 2012-06-21
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多