【发布时间】:2019-04-25 00:04:15
【问题描述】:
有没有办法在使用 Room 时直接删除表格。我在 DAO 类下尝试了以下代码
@Query( "DROP TABLE IF EXISTS 'tablename'" )
void dropFavoriteShowEpisodeTable();
但我无法构建并且错误是
尚不支持 UNKNOWN 查询类型。您可以使用:删除、更新、选择
我了解在迁移过程中,我可以使用直接删除表
database.execSQL( "DROP TABLE IF EXISTS 'tablename' );
但是如果我想在稍后阶段删除一个表怎么办。如何做到这一点? 提前致谢
【问题讨论】:
-
我不确定你想用这个实现什么。就像您说的那样,删除表并更新数据库结构可以而且应该在迁移期间完成。但是稍后丢一张桌子并不是很聪明。如果它需要为空,只需删除所有行。但是实时删除表格会在您的应用中创建许多可为空的时刻。
-
查看@RawQuery 或 RoomDatabse.query()
-
@quantumapps 你是对的。清理所有记录比丢弃更好。
-
@yeonseok.seo Uuhh ,我认为这没有任何帮助。还是谢谢
标签: android android-room drop-table