我想在 android 中创建一列 AUTOINCREMENT 值。我尝试了以下方法,但失败了。我希望该列在添加新记录时自动递增。
当我将“AUTOINCREMENT”包含到 game_id 时,出现异常“无法将只读数据库从版本 0 升级到 25”。
db.execSQL("CREATE TABLE Games (" +
"_id INTEGER PRIMARY KEY AUTOINCREMENT," +
"game_id INTEGER **AUTOINCREMENT**," +
"title TEXT" +
");");
最佳答案
在 SQLite 中,autoincrement 关键字只修改选择下一个空整数主键的算法的行为。它不会按照您想要的方式运行。对不起。 我能想到的唯一解决方案是以编程方式执行您想要的操作,并将唯一约束添加到 game_id 字段
`CREATE table Games (_id integer primary key autoincrement, game_id integer unique, title text)`;
这在 sqlite3 中有效,但如果您输入的内容已经存在于表中,您应该 try catch 错误。另一种可能性是创建另一个表。
关于android - 如何创建一列 auto_increment 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6805440/