【发布时间】:2019-08-28 07:16:20
【问题描述】:
我在应用程序的第一个版本中在 SQLite 数据库中创建了一个表。我想更新该数据库,添加一个新表而不删除以前的数据。该怎么做?
【问题讨论】:
-
你使用的是 Room 还是 SQLiteHelper?
-
抱歉给您带来了困惑,但问题是关于更新数据库
-
我用过 SQLiteHelper
我在应用程序的第一个版本中在 SQLite 数据库中创建了一个表。我想更新该数据库,添加一个新表而不删除以前的数据。该怎么做?
【问题讨论】:
按照示例进行:
class YourDbHelper(context: Context) : SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {
override fun onCreate(db: SQLiteDatabase) {
db.execSQL(SQL_CREATE_ENTRIES)
}
override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
db.execSQL(SQL_UPDATE_ENTRIES) //create new table
onCreate(db)
}
override fun onDowngrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
onUpgrade(db, oldVersion, newVersion)
}
companion object {
// If you change the database schema, you must increment the database version.
const val DATABASE_VERSION = 1
const val DATABASE_NAME = "YourDb.db"
}
}