我面临的情况是,我需要检查数据库中的任何表中是否存在特定记录。
所有表都具有相同的结构,但创建不同表的原因只是为了对它们进行分类。
我正在尝试进行一个查询,检查特定记录是否存在于任何表中。看看 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/