android - KEY_ID 是为 Android 中的 sqlite 数据库表自动生成的吗?它叫 "KEY_ID"吗?

标签 android database sqlite

我有一个 sqlite 数据库,在一个 android 应用程序中有一个表。当使用下面显示的语句创建时,有两个列,KEY_CHECKBOX_STATUS 和 KEY_CHECKBOX_LABEL。 “ID”是创建的主键。

如果我没有像下面的语句那样在创建时显式创建主键,它会自动创建吗?是名字“KEY_ID”吗?

  //create table MY_DATABASE (ID integer primary key, Content text not null);
    private static final String SCRIPT_CREATE_DATABASE =
     "CREATE_TABLE IF NOT EXISTS " + MYDATABASE_TABLE + " (" + "ID INTEGER PRIMARY KEY AUTOINCREMENT, " +  
     KEY_CHECKBOX_STATUS + " BIT, " + KEY_CHECKBOX_LABEL + " TEXT NOT NULL);";

最佳答案

Sqlite 将创建一个"rowid" 并且它是唯一的。您可以使用 “rowid”或“oid”或“_rowid_” 访问它。例如 SELECT rowid as id ...
您可以在此处阅读更多信息 http://www.sqlite.org/autoinc.html .请注意,rowid 不区分大小写。

关于android - KEY_ID 是为 Android 中的 sqlite 数据库表自动生成的吗?它叫 "KEY_ID"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15916954/

相关文章:

android - 在现有 SQLITE 中创建附加表(无数据丢失)

android - "android:layout_column"属性是什么?

android - 如何在android中动态启动和完成progressBar

sql - 主从复制的可靠性如何?

ios - CoreData vs. SQLite vs. 自定义实体和 pLists

android - MATCH 的 SQLite 查询错误

java - 在 android 中使用 org.apache.commons.net.telnet.* 时出现问题

mysql查找行的位置

mysql - SQL查询忽略条件

android - 我们如何在不更改 TextView 和布局的情况下更改问题和选项