列名在 SQLite Android Studio 中不起作用

Column name not working in SQLite Android Studio

我有以下内容:

public static final String COL_4 = "ID";

并且:

public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table " + TABLE_NAME + " (LastScore INTEGER, Highscore INTEGER, Title TEXT, ID BOOLEAN)");

这非常有效;

但是,如果我将 ID 更改为 "John"(在声明和 execSQL 中),我会收到以下错误:

android.database.sqlite.SQLiteException: no such column: John (code 1): , while compiling: UPDATE Player_Stats SET LastScore=?,Title=?,John=?,Highscore=? 

知道这样的字符串名称更改是如何抛出异常的吗? 谢谢!

编辑:问题不在于布尔值。如果我将其更改为 Integer,也会出现同样的问题。适用于 "ID",不适用于 "John"

布尔数据类型

SQLite 没有原生布尔数据类型。 SQLite 没有单独的布尔存储 class。相反,布尔值存储为整数 0(假)和 1(真)。

似乎当我第一次 运行 它时,数据库是用 ID 列创建的。因此,我稍后只调用 onUpgrade() 而不是 onCreate(),它需要一个名为 ID 而不是 John 的列。我无法做到这一点,但我相信删除数据库并重新开始将解决问题。感谢支持!