AUTOINCREMENT仅允许在INTEGER PRIMARY KEY – android上使用

我正在尝试在我的数据库中创建一个具有自动增量ID的表,但每当我尝试将AUTOINCREMENT关键字添加到我的查询时,它告诉我:

AUTOINCREMENT仅允许在INTEGER PRIMARY KEY上使用

这是我的查询:

@Override public void onCreate(SQLiteDatabase db) { String sql = "CREATE TABLE IF NOT EXISTS " + TABLE_TASKS + " ( " + KEY_ID + "INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_NOTETITLE + " TEXT, " + KEY_NOTECONTENT + " Text, " + KEY_STATUS + " INTEGER)"; db.execSQL(sql); } 

我也尝试写AUTO_INCREMENT,但后来我遇到了语法错误。

我发现这是问题的根源,因为每当我尝试删除AUTOINCREMENT字时,它都能正常工作。

那么……你认为这是什么问题?

    您需要在KEY_IDINTEGER之间添加一个空格

    所以改变

     + KEY_ID + "INTEGER PRIMARY KEY AUTOINCREMENT, " 

     + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " 

    使用整数主键创建表无需显式提及AUTOINCREMENT

    例如

     CREATE TABLE t1( a INTEGER PRIMARY KEY, C TEXT ); Insert into t1(C) values("Hello"); 

    这样创建表在INTEGER之前放了一些空格….

     "CREATE TABLE "+TABLE_NAME+" ("+KEY_ID+" INTEGER PRIMARY KEY AUTOINCREMENT)";