我想删除所有没有行的表。
如何删除SQLite中的所有空表?
修改
我需要在手机上做这个(没有外壳)。在Windows Mobile手机上。
答案 0 :(得分:7)
可以删除表,无论它们是否在执行命令时都包含数据。任何以其他方式运作的数据库的Dunno。这意味着:
1)获取表格列表 -
SELECT name
FROM sqlite_master
WHERE type = 'table'
2)迭代该列表,使用COUNT(*)来确定表中是否存在任何行:
SELECT COUNT(*)
FROM ~table
3)如果返回的数字小于1,则执行DROP语句:
DROP TABLE ~table
SQLite没有函数或存储过程支持 - 您必须从应用程序执行此操作。