2013-06-20 45 views
1

我的Android应用程序中有一个insert-Statement问题。在SQLite数据库中插入ContentValues时如何跳过主键

下面是代码:

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。所以我想跳过第一列,我想在第二列开始插入。我怎样才能跳过这第一列?

更新

我已经删除了。把第一列。 “COLUMN_NOTE”是我的第二列。 我的表结构如下:

id INTEGER AUTO INCREMENT 
note double 
beschreibung TEXT 
modul_id INTEGER 

更新2 我不知道为什么,但现在它的工作原理。 Thx帮助你们。

+0

哪个字段是主键? – 7bluephoenix

+1

你尝试插入没有第一个颜色?如果是这样,请让我们知道您面临的问题。 – Gunaseelan

+1

发布你的表格结构。 –

回答

2

如果您有类似以下表格:

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

你使用以下INSERT命令:

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

一切都应该去罚款。主键字段“id”不会被Java填充,并且SQLite数据库将为您完成。

相关问题