是否有一个纯SQL解决方案,可以在所有表中搜索具有给定值或名称的特定字段。在伪代码中,我正在寻找的查询将是
SELECT * FROM * WHERE field = "value"
或
SELECT tablename, field FROM *
我已经知道如何使用mysql information schema搜索具有该列的所有表,但是我不确定是否(以及如何)将其组合到查询(或存储过程)中。 / p>
答案 0 :(得分:1)
您可以编写一个脚本,该脚本将生成所有查询:
SELECT concat('SELECT * FROM ',TABLE_NAME,' WHERE ',COLUMN_NAME,' =\'value\'')
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME = 'columnname'
;
然后,您可以执行结果的每一行以获取所需的数据。