【问题标题】:SQL query to select all rows from all tables where a wildcard column equals a value [duplicate]SQL查询从通配符列等于值的所有表中选择所有行[重复]
【发布时间】:2014-02-16 20:42:18
【问题描述】:

如何使用SELECT * FROM * WHERE % = 'name' 之类的查询来扫描我的数据库中的所有表以查找name

【问题讨论】:

    标签: php mysql sql


    【解决方案1】:

    您的选择语句缺少一列。 所以可能像 SELECT * FROM * WHERE $col = '%name';

    php(比如 bash)之外的快速而肮脏的答案是

    • 第一步找到数据库中的表。表=mysql -uuser -psecret MYDB -B -e 'show tables'|sed -e '2,$p'
    • 第 2 步;使用 $tables var 将您的 select 语句替换为 FROM * 来迭代表。
      • 步骤 2.5 迭代时将结果收集到一个变量中作为数组或映射。
    • 第三步;检查那张地图。

    这一切都说了,除非 $col 在所有表中都是通用的,否则这个问题没有意义。

    【讨论】:

      猜你喜欢
      • 2011-11-07
      • 2016-07-22
      • 2020-05-03
      • 2010-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      相关资源
      最近更新 更多