【问题标题】:DROP table using Room persistence library使用 Room 持久性库 DROP 表
【发布时间】: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


【解决方案1】:

No Room 根本不支持 Drop。您需要使用

删除所有记录
DELETE * FROM TABLENAME

【讨论】:

    猜你喜欢
    • 2019-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多