1

我正在处理的数据库大约有 30 个表,其中可能包含我想要定位的不同数据。不是一个理想的情况,但嘿嗬。

给定两个字符串...

  • string1- 出现在表名中的值。
  • string2- 要搜索类似文本的列的值。

...我想搜索名称匹配的所有表,以查找string1具有...的数据类型的列

  • 文本
  • 字符
  • varchar

...对于数据行like "%string2%"

我理想地看到返回的是一个结果集,其中每个命中都有一行,格式如下string1string2

  • table_name_string1_appears_in
  • column_name_string2_appears_in
  • value_from_id_col_of_table_with_name_like_string1
  • data_from_cell_matching_string2

是否可以存在可重复使用的纯 mysql 解决方案?

4

2 回答 2

0

一个 php 解决方法(不是纯 sql)是将 30 个表的名称存储在一个数组中。foreach 每个并评估表名是否是您的 aray 值的一部分。如果为真,则%string2% 对该表名运行选择查询

于 2013-05-02T10:19:37.893 回答
0

如果您想在所有数据库中搜索字符串

然后这样做

   mysqldump -u myuser --no-create-info databasename > myfile.sql

在 myfile.sql 中找到你的字符串之后

或在此处尝试此解决方案

于 2013-05-02T10:31:50.723 回答