Mysql:从一组数据表中筛选出不存在某字段的数据表?
开发中,发现执行某查询时报错:{"code":500,"msg":"数据库连接失败: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ur_total' in 'field list'"},
表明某个表或某些表中,不存在ur_total的字段,但因为相同前缀的表过多,无法一一排除是哪个或哪些。
使用SQL语句进行查询:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'data_labife' -- 替换为你的数据库名 AND TABLE_NAME LIKE 'ea_sight_rt_%' -- 替换为你的表名前缀 AND TABLE_NAME NOT IN ( SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'data_labife' -- 替换为你的数据库名 AND COLUMN_NAME = 'ur_total' );
查询结果:

进入该数据表检查:

实际应该结构:


浙公网安备 33010602011771号