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()检查此答案:是删除应用程序并重新运行