SQLite更新查询Android

use*_*577 10 java sql android

该表包含4列:rowID,word,defintition,group_id

我想改变某一行的词和定义.所以这是我的代码(word是一个对象,其中存储了单词,definition,id和group_id)

   ContentValues values = new ContentValues();
Run Code Online (Sandbox Code Playgroud)
    values.put(KEY_WORD, word.getWord());
    values.put(KEY_DEFINITION, word.getDefinition());
    db.update(TABLE_WORDS, values, KEY_ID, new String [] {String.valueOf(word.getID())});
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么它只创建一个新行而不是更改给定ID下的行?

Dig*_*tel 10

SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(KEY_NAME, contact.getName());
        values.put(KEY_DATE, contact.getDate());

        // updating row
        return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
                new String[] { String.valueOf(contact.getID()) });
Run Code Online (Sandbox Code Playgroud)