【发布时间】:2020-11-01 07:09:30
【问题描述】:
我想在 SQLite 中为我的一个表添加新列。
我知道我可以通过在OnUpgrade() 方法中添加以下内容来为现有用户实现此目的
db.execSQL("ALTER TABLE my_table ADD COLUMN my_column2 INTEGER DEFAULT 0");
在onCreate() 方法中,表的创建将保持如下
db.execSQL("CREATE TABLE IF NOT EXISTS \"my_table\" (\"coulmn_1\" INTEGER PRIMARY KEY NOT NULL UNIQUE)");
现在如果新用户安装应用程序会怎样?只有onCreate() 将被调用,因为用户没有任何以前版本的数据库。而在onCreate() 方法中,它不包含新列coulmn_2
那么我也应该更新onCreate() 中的表创建吗?还是会给现有用户带来问题?
【问题讨论】:
标签: java android sqlite android-sqlite