gpt4 book ai didi

Android SQLite 不自动递增

转载 作者:行者123 更新时间:2023-11-29 21:17:02 25 4
gpt4 key购买 nike

我一直在努力弄清楚为什么我的自动增量 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() + ");");

最佳答案

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 证明了这一点。 Autoincrement only works if the column value is not specified:

If no ROWID is specified on the insert, or if the specified ROWID has a value of NULL, then an appropriate ROWID is created automatically.

关于Android SQLite 不自动递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21159568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com