mysql - 检查数据库中任何不同表中是否存在记录

标签 mysql

我面临的情况是,我需要检查数据库中的任何表中是否存在特定记录。

所有表都具有相同的结构,但创建不同表的原因只是为了对它们进行分类。

我正在尝试进行一个查询,检查特定记录是否存在于任何表中。看看 UNION,我想这将是一个开销,因为我有大约 100 个不同的表,其中一些有 30 万条记录......

有人可以指导正确的方向吗...它也想知道谷歌搜索引擎是如何做事的...

谢谢

最佳答案

好吧,如果您只需要执行一次,您可以生成一堆 SQL 语句,您可以运行这些语句并查看它们中的任何一个是否实际返回某些内容。显然,将大括号中的内容替换为您需要的内容。如果您需要重复执行此操作,那么一定要考虑其他事情。

 SELECT CONCAT( 'SELECT {something} from', GROUP_CONCAT(table_name) , 'where {something_else};' ) 
AS statement FROM information_schema.tables
 WHERE 
   table_schema = '{database_name}'
   table_name LIKE '{myprefix}%';

关于mysql - 检查数据库中任何不同表中是否存在记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16580725/

相关文章:

mysql更新脚本问题。所有txt都是小写的只是第一个字母是大写的

mysql - 如果条目不存在则插入到 SQL 中

mysql - Table1 Left Join Table2 Minus(连接数据)

mysql - 从具有双分组依据的查询中获取 0 的计数

php - mysql 中 WHERE 的问题

php - 如何在 iPhone 上安装 (L|M)AMP 堆栈?

php - 从一个表单插入到两个表中

mysql - Symfony2 查询构建器选择

java - JDBC 规范是否定义了如果您对列名冲突的查询调用 `ResultSet.getObject(String)` 会发生什么情况?

mysql - 如何编写查询以从 SQLite/MySQL 检索最后更新的行?