【发布时间】:2014-01-17 09:53:38
【问题描述】:
我一直试图弄清楚为什么我的自动增量 id 列不起作用。表格插入很好,但是,一旦我尝试插入另一行,id 列就不会增加。它只是尝试插入 id 为 0 的下一行。任何帮助将不胜感激!
下面是列元数据(名称和类型)和我在 db.execSQL() 方法中的创建表 sql:
ID(BaseColumns._ID, "INTEGER"),
YEAR("year", "real"),
MAKE("make", "text"),
MODEL("model", "text"),
STYLE("style", "text"),
COLOR("color", "text"),
ALT_COLOR("altColor", "text"),
CLASS("class", "text"),
CLASS_CODE("classCode", "text");
db.execSQL("CREATE TABLE " + TABLE_NAME + " ("
+ Columns.ID.getName() + " " + Columns.ID.getType()+ " PRIMARY KEY AUTOINCREMENT" + ", " + Columns.YEAR.getName() + " " + Columns.YEAR.getType() + ", "
+ Columns.MAKE.getName() + " " + Columns.MAKE.getType() + ", "
+ Columns.MODEL.getName() + " " + Columns.MODEL.getType() + ", "
+ Columns.STYLE.getName() + " " + Columns.STYLE.getType() + ", "
+ Columns.COLOR.getName() + " " + Columns.COLOR.getType() + ", "
+ Columns.ALT_COLOR.getName() + " " + Columns.ALT_COLOR.getType() + ", "
+ Columns.CLASS.getName() + " " + Columns.CLASS.getType() + ", "
+ Columns.CLASS_CODE.getName() + " " + Columns.CLASS_CODE.getType() + ");");
【问题讨论】:
-
你能告诉我们你的插入 SQL 命令吗?
-
我知道它应该是什么样子,但是我正在调用 context.getContentResolver().insert(uri, values),其中值是 ContentValues。我假设这会回到我的 ContentProvider 并调用 insert 方法。
-
而我的 ContentProvider 调用 db.insert()... ` id = db.insert(uriType.getTableName(), "foo", values);结果Uri = id == -1? null : ContentUris.withAppendedId(uri, id); `
标签: android sql sqlite android-contentprovider