【问题标题】:get the column name from column value从列值中获取列名
【发布时间】:2012-01-12 11:30:45
【问题描述】:

MySQL 有没有办法在给定列值的情况下获取列名?

例如,我有STATES 表和CITY 表,其中'NAME' 作为列名。

假设我在STATES 表和CITY 表中都有'New York'。我想要一个查询,它将返回SATESCITY 的列名给'New York'

我的预期输出可能是这样的

值           列       表
-----          ------        -----
纽约       名称       州
纽约     名称     城市

以上只是一个例子。在大多数情况下,我只知道列值,不知道列名或相应的表名。通常我不需要知道不同的随机模式。我正在构建一个可以与多个数据库一起使用的问答系统。

【问题讨论】:

  • 我可以回答如何使用 PHP 制作它。只有 MySQL 很难。

标签: mysql sql database


【解决方案1】:

您将不得不查询 information_schema 以获取类似于this post 的表和列。我不认为只有 MySQL 是你最好的选择。如果您尝试查找具有所需值的任何表和列,这意味着您将搜索每个表中的每一列。

除非您有非常简单的表,否则这是一个相当昂贵的查询设置。您需要提取所有表数据,然后迭代所有表以搜索具有匹配值的列。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-07-16
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多