我知道在information_schema.table中查询表行的结果不一致(某些数据的差异为40%-50%)。但是,由于0的40-50%仍为0,此语句是否仍然一致地报告行数为0的所有表?我已经尽力测试了它。
SELECT CONCAT_WS('.',table_schema,table_name)
FROM information_schema.tables
WHERE table_schema='dbName'
AND table_rows=0;
提前致谢!
答案 0 :(得分:1)
如果表中从未插入任何行,我无法理解为什么information_schema会为table_rows显示除0以外的任何内容。
但我认为有可能是一个表中有行,但所有行都被删除了(通过DELETE语句而不是TRUNCATE),我看到table_rows可能不为零。
从文档IIRC中,你不能依赖table_rows的0值来表示该表不包含任何行,并且你不能依赖非零值来表示该表包含行。