AUTOINCREMENT只允许在INTEGER PRIMARY KEY – android上使用
作者:互联网
我正在尝试在我的数据库中创建一个具有自动增量ID的表,但每当我尝试将AUTOINCREMENT关键字添加到我的查询时,它告诉我:
AUTOINCREMENT is only allowed on an 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_ID和INTEGER之间添加一个空格
所以改变
+ KEY_ID + "INTEGER PRIMARY KEY AUTOINCREMENT, "
至
+ KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "
标签:android,sqlite,auto-increment 来源: https://codeday.me/bug/20191006/1861148.html