android - 如何创建一列 auto_increment 值?

标签 android sql

我想在 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 字段

See Documentation Here

`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/

相关文章:

android - 无法使用 fragment 在Gridview中显示图像

android - ajax 在某些 Android 设备上工作,在其他设备上不工作

sql - 在 SQL 中转置列和行的简单方法?

sql - Oracle:将子查询中的多个结果合并为一个逗号分隔的值

mysql - 如何选择包含与一组值完全匹配的行

android - 创建自己的 SwitchCompat 首选项

Android:如何在 Android 应用程序中显示谷歌地图?

android - 在 Android Studio 中使用适用于 Android 的 Amazon Web Service SDK

sql - 从一列中选择随机行但不重复值

MySql 使用单独查询或子查询更快?