我想在android中创建一列AUTOINCREMENT值。我尝试了以下方法,但失败了。我希望列在添加新记录时自动自动递增。
当我在game_id中包含“ AUTOINCREMENT”时,出现异常“无法将只读数据库从版本0升级到25”。
db.execSQL("CREATE TABLE Games (" +
"_id INTEGER PRIMARY KEY AUTOINCREMENT," +
"game_id INTEGER **AUTOINCREMENT**," +
"title TEXT" +
");");
最佳答案
在SQLite中,关键字autoincrement仅修改选择下一个空整数主键的算法的行为。它的行为不符合您的期望。抱歉。
我唯一能想到的解决方案是通过编程来完成所需的操作,并将唯一约束添加到game_id字段中
See Documentation Here
`CREATE table Games (_id integer primary key autoincrement, game_id integer unique, title text)`;
这在sqlite3中有效,但是如果您输入表中已有的内容,则应尝试捕获错误。根据您要执行的操作,另一种可能性是创建另一个表。