java - 自动增量不适用于 ID

标签 java android sqlite

我在 Android 应用程序的 SQL 中使用自动增量时遇到一些问题。

public static final String TABLE_NAME = "collections";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_TITLE = "title";
public static final String CREATE_STATEMENT = "CREATE TABLE " + TABLE_NAME +
        "(" +
        COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +
        COLUMN_TITLE + " TEXT NOT NULL" + ")";

create 语句是否存在可能导致此问题的重大问题?

最佳答案

主键不需要添加AUTOINCRMENT NOT NULL,因为主键(列)应该是自增的,不能为空。 以下是 SQL 查询示例,您可以编辑该查询来创建自己的表。

 public static final String CREATE_TABLE = "CREATE TABLE IF NOT  EXISTS " + "Your_Table_Name" +
            " (" + BaseColumns._ID + " INTEGER PRIMARY KEY," +
            "first_column_name" + " TEXT" + "," +
            "second_column_name" + " TEXT" + ")";

BaseColumns是由android在package android.provider中提供的接口(interface),您可以使用它来创建名称为“_id”的主列>

关于java - 自动增量不适用于 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36775965/

相关文章:

android - 安卓中的手势

android - sqlite android select col(x) where (col1 like '%key%' ) or (col2 like '%key%' ) - x 是包含键的列

iphone - 如何插入到iPhone sdk中的表(sqlite db)

java - 如何让二维数组打印 1 到 80

java - 用于解析 float 的正则表达式

java - Java 中用于文件比较的编程方法

java - 如何使用instanceof关键字Java

android - ListView 项目顶部和底部的 ListView 分隔线

android - Android 5.0 Release模式下的 INSTALL_FAILED_DEXOPT 错误

javascript - 如何保护 SQLite 数据库免受损坏