我知道下面的代码给了我SQL数据库中表的数量(我使用SQLite),但是我如何获得一个表的“顺序”,以便我可以创建一个for循环来扫描所有这些表呢?
String numtables = "String sql = “SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'database’ ”;
pst = con.prepareStatement(numtables);
ResultSet numt = pst.executeQuery(numtables);
int num = ((Number) rs1.getObject(1)).intValue();
发布于 2018-07-25 09:06:29
正确的查询应该是(您谈论的是数据库中的表)
SELECT * FROM my_db.sqlite_master WHERE type='table' order by rootpage;
通过查询根页面,可以找到任何索引或表的根页号。它们不一定是后续的数字。
然后,您可以使用通常的
while (rs.next())
当然,要注意语法错误,并尽可能多地使用Preparestatement策略,就像其他人建议的那样。
https://stackoverflow.com/questions/51509200
复制相似问题