android - Android SQLite不是 autoincrementing

  显示原文与译文双语对照的内容

我一直在想为什么我的ppp id列不工作。 但是,当我尝试插入另一行时,列不会增加。 它只是尝试插入下一行的id为 0. 任何帮助都会非常感激 !

下面是 column ( 名称和类型) method和 db.execSQL() 方法中的create table 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() +");");

时间: 作者:


01-16 05:51:09.882: E/Database(1177): Error inserting model=SHELBY CONV. style= _id=0 color=KONA BLUE classCode=JCA class=JCA - 2012-15 - ALL year=2012 altColor= make=FORD
01-16 05:51:09.882: E/Database(1177): android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed 

你不应该在插入中定义ID列值,如异常中的_id=0 所示。 只有在未指定列值时,自动增量才有效:

如果在插入时没有指定 ROWID,或者指定的ROWID值为 NULL,那么将自动创建相应的ROWID 。

作者:

发现当将ContentValues发送到 context.getContentResolver(). 插入( uri,值) 方法时,你的ContentValues不应该包含一个键/值对包含一个 id 。 这就是导致我的_id列不自动递增的原因。

作者:

更多信息:声明为 INTEGER PRIMARY KEY的列将在 SQLite 中自动递增自动增量值。

作者:
...