在SQLiteDatabase中插入ContentValues时如何跳过主键

时间:2013-06-20 11:44:29

标签: android sqlite

我的Android-App中有一个insert-Statement有点问题。

以下是代码:

public void addNote(Note noteItem, int modulNummer){
        SQLiteDatabase db = getWritableDatabase();
        ContentValues cv = new ContentValues();
        cv.put(COLUMN_NOTE, noteItem.getNote());
        cv.put(COLUMN_NOTEBESCHREIBUNG, noteItem.getBeschreibung());
        cv.put(COLUMN_MODULID_FK, modulNummer);
        db.insert(NOTETABLE, null, cv);
    }

现在我的问题。我表中的第一列是自动增量pk。所以我想跳过第一列,我想在第二列开始插入。我怎么能跳过第一栏?

更新

我已经删除了第一列的.put。 “COLUMN_NOTE”是我的第二栏。 我的表结构如下所示:

id INTEGER AUTO INCREMENT
note double
beschreibung TEXT
modul_id INTEGER

更新2 我不知道为什么,但现在它有效。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

如果你有一个类似下面的表:

private final String TAB_GROUP_ADD = "CREATE TABLE groups (id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, description TEXT NOT NULL);";

您使用以下插入命令:

ContentValues values = new ContentValues();
values.put(K_TITLE, title);
values.put(K_DESCRIPTION, description);
db.insert(TAB_GROUP, null, values);

一切都应该没问题。主键字段“id”将不会被Java填充,SQLite数据库将为您完成。