Android SQLITE数据库升级问题
我想知道 我有一张桌子Android SQLITE数据库升级问题,android,sqlite,Android,Sqlite,我想知道 我有一张桌子 create table User (userid INTEGER PRIMARY KEY AUTOINCREMENT, username text,address text) 我正在onCreate()上创建这个表 并插入值 INSERT into User (username,address) VALUES('noname','xyz') 输出-用户名--非名称地址--xyz 在onUpgrade()上 我在上表中添加了一列 ALTER TABLE User A
create table User (userid INTEGER PRIMARY KEY AUTOINCREMENT, username text,address text)
我正在onCreate()上创建这个表
并插入值
INSERT into User (username,address) VALUES('noname','xyz')
输出-用户名--非名称地址--xyz
在onUpgrade()上
我在上表中添加了一列
ALTER TABLE User ADD COLUMN City text
并插入值插入用户(城市)值(“德里”)
当我启动应用程序时,输出会显示出来
输出-用户名--空地址--空城市--德里
为什么两列都显示null
。即使是我也没有删除该表
应该是这样的
输出-用户名--非姓名地址--xyz市--德里
请澄清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)");
}
这就是INSERT
命令所做的,它创建了全新的记录
要更新现有记录中的值,请使用update
命令:
UPDATE User SET City = 'Delhi' WHERE username = 'noname'
这就是INSERT
命令所做的,它创建了全新的记录
要更新现有记录中的值,请使用update
命令:
UPDATE User SET City = 'Delhi' WHERE username = 'noname'
是否删除了旧数据库?否。我刚刚添加了新列。请参阅方法onUpgrade()检查此答案:是删除应用程序并重新运行删除了旧数据库吗?否。我刚刚添加了新列。请参阅方法onUpgrade()检查此答案:是删除应用程序并重新运行