java - 当我没有在以前的 APK 中指定版本时如何更新 SQLite 数据库
问题描述
我使用 Kivy for Python 创建了我的原始应用程序。从那时起,我决定将它移植到 Java 并在 Android Studio 中重新构建它。该应用程序有一个需要更新的 SQLite 数据库(新表、更多条目等)。
我看到该onUpgrade()
函数可用于执行此操作,但看起来它的工作方式是我必须指定旧的数据库版本,然后指定我正在更新的新版本。
但是,在创建原始版本时,我没有指定数据库版本。
然后如何更新应用程序中的 SQLite 数据库?对于这个版本,我很乐意删除旧数据库并添加新数据库,因为它目前没有使用任何特定于用户的数据。
解决方案
你只需要克隆表
CREATE TABLE copied AS SELECT * FROM mytable WHERE 0
其中 mytable = '你的桌子'
您也可以删除表并重新创建方案,但首先您应该进行备份
推荐阅读
- c# - 单元测试视图中设置的 ASP.NET MVC ViewBag 属性
- kotlin - Kotlin 中常量和扩展函数的不可见性
- angular - 将标签添加到 app.component.html 时,必须从注入上下文调用错误 inject()。帮我解决这个错误
- javascript - 为什么我的 doGet(e) 函数返回一个空值,即使我传递了一个参数?
- django - 为 django web 服务器设置域
- java - OpenJDK 64 位服务器 VM 警告:已禁用存档的非系统类(树脂、Ubuntu、OpenJDK 11)
- azure - 适用于桌面应用程序的 Azure NotificationHub(控制台应用程序)
- python - 获取'list'对象在python中没有属性'tolist'
- c++ - 包含“cout<< ..”语句时出现运行时错误,否则在函数中可以正常工作
- sql - 编写 SQL 脚本,获取 BigQuery 中所有列的列表并将它们注入到查询中