记一个mysql中有多张根据时间生成的相同结构的表的查询问题(mysql的information_schema.tables使用)

有一个需求要查询mysql中的同样结构的表中查询出最小值 id,(这些表是根据时间生成的,前缀都一样,后缀不一样,年份越前的表的id越小)
困难点:在生产环境不知道最小的表是哪一张表,不然可以直接根据表名查
需求分析:查询出时间最小的表,然后再查最小值

记一个mysql中有多张根据时间生成的相同结构的表的查询问题(mysql的information_schema.tables使用)
1.利用INFORMATION_SCHEMA.TABLES先查询出时间最早的表
select min(table_name) as tableName from INFORMATION_SCHEMA.TABLES where table_name like ‘qnews_%’ and table_rows>0 order by table_name asc

2.然后查询最小值
select min(id) as minId from ${tableName}

注:

  • information_schema.tables存储了数据表的元数据信息
  • information_schema数据库中的表都是只读的,不能进行更新、删除和插入等操作