如何为我的应用程序抽真空RoomDatabase
我围绕Room构建我的整个应用程序,并在某个时刻将一张大表定期删除,然后再次填充。

我试图用查询创建一个附加的DAO接口:

@Dao
public interface GenericDao {
    @Query("VACUUM")
    void vacuum();
}


但我得到了错误:

Error:(13, 10) error: UNKNOWN query type is not supported yet. You can use:SELECT, UPDATE, DELETE


有解决方法吗?

基本上,我需要的是,一旦我的表完全清空,自动增量将再次从1开始。

我是数据库设计的新手,所以请理解这是否违反最佳实践。
是的:我用尽了Google和我所知道的所有其他平台。

提前谢谢了!

最佳答案

道可以看起来如下:

@Dao
public interface RawDao {
    @RawQuery
    int vacuumDb(SupportSQLiteQuery supportSQLiteQuery);
}


像这样运行查询:

rawDao.vacuumDb(new SimpleSQLiteQuery("VACUUM"));

10-08 02:47