我想知道。
我有一张表
create table User (userid INTEGER PRIMARY KEY AUTOINCREMENT, username text,address text)
我正在onCreate()
并插入值。
INSERT into User (username,address) VALUES('noname','xyz')
输出 - username--noname address--xyz
和onUpgrade()
我在上表中添加了一列
ALTER TABLE User ADD COLUMN City text
并插入值INSERT into User(City) VALUES('delhi')
当我启动应用程序时,输出显示。
输出 - username--null address--null city--delhi
为什么它为两列显示null
。但我没有drop
表格
它应该显示类似的东西
输出 - username--noname address--xyz city--delhi
请澄清onUpgrade
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
db.execSQL("ALTER TABLE User ADD COLUMN City TEXT");
db.execSQL("INSERT into User (City) VALUES(delhi)");
}
答案 0 :(得分:3)
这就是INSERT
命令的作用,它会创建全新的记录。
要更新现有记录中的值,请使用UPDATE
命令:
UPDATE User SET City = 'Delhi' WHERE username = 'noname'