0

私は知りたいです 。

テーブルが1つあります

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()

上記の表に1つの列を追加しました

 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)");
        }
4

1 に答える 1

3

これがINSERTコマンドの機能であり、まったく新しいレコードを作成します。

既存のレコードの値を更新するには、次のUPDATEコマンドを使用します。

UPDATE User SET City = 'Delhi' WHERE username = 'noname'
于 2013-03-27T13:03:45.720 に答える