我正在查询mysql,wordpress数据库,寻找使用特定插件的网站。我不知道链接所在的表是什么,这些表的格式如下:wp%%\u postemta,%%值并不总是连续的,并且不是每个表都包含我要查询的值。
我开发了一个查询来搜索
此查询用于返回所需的值,但无法将此数据的结果绑定到每行的相应表中。我不知道怎么弄到那辆车
SET GROUP_CONCAT_MAX_LEN = 50000;
SELECT
CONCAT('select * from (select post_id, meta_value from ',
GROUP_CONCAT(tb
SEPARATOR ' where meta_key like "_gdd_speedy_page_redirect" union select post_id, meta_value from '),
' where meta_key like "_gdd_speedy_page_redirect") as Wdp_tables ')
INTO @wdp_table_query FROM
(SELECT
CONCAT(table_schema, '.', table_name) tb
FROM
information_schema.tables
WHERE
table_name LIKE '%_postmeta') A;
SELECT @wdp_table_query;
prepare stmt from @wdp_table_query;
execute stmt;
deallocate prepare stmt;
返回的数据如下所示:
POST_ID | META_VALUE
29 | URL_HERE
493 | NEXT_URL_HERE
我需要这样返回数据:
TABLE | POST_ID | META_VALUE
wp_03_postmeta | 2 | URL_HERE
wp_74_postmeta | 493 | NEXT_URL_HERE
有没有办法在select语句中插入要查询的对应表?
1条答案
按热度按时间wnvonmuf1#
如果你搬家
select post_id, meta_value from
完全进入组\u concat,您应该能够将表名插入选择列表;像这样:GROUP_CONCAT(CONCAT('select "', A.tb, '" AS theTable, post_id, meta_value from'...
我还没有仔细研究过您想要的确切查询,但在这些情况下,分隔符通常可以是简单的' UNION '
.通用格式
制作
information_schema.tables
不过,子查询似乎过于复杂了。