创建数据库时出现sqlite异常

sqlite exception while creating db

我正在尝试使用以下 sqlite 查询创建 table。

private static final String CREATE_EMPLOYEE_TABLE = "CREATE TABLE " + TABLE_EMPLOYEE + "("
            + KEY_DOMAIN_ID + " INTEGER PRIMARY KEY,"
            + KEY_FROM + " TEXT,"
            + KEY_TO + " TEXT" + ")";

private static final String CREATE_GROUPS_TABLE = "CREATE TABLE " + TABLE_GROUPS + "("
        + KEY_USERID + " INTEGER PRIMARY KEY,"
        + KEY_NAME + " TEXT,"
        + KEY_SESSION_TOKEN + " TEXT,"
        + KEY_GROUP_ID + " TEXT,"
        + KEY_GROUP_NAME + " TEXT" + ")";`

我正在使用以下代码向数据库添加元素,

db.addEmployees(new Employee(id,from,to));
db.addGroup(new Group(Integer.valueOf(userId),name,session,groupId,groupName));

这两个查询都抛出以下错误消息

android.database.sqlite.SQLiteException: near "group": syntax error (code 1): , while compiling: CREATE TABLE group(userId INTEGER PRIMARY KEY,name TEXT,sessionToken TEXT,groupId TEXT,groupName TEXT)

重命名变量

String TABLE_GROUPS = "group"

类似于

String TABLE_GROUPS = "groups"

group is reserved keyword in sql.

Check here the list of reserved keywords in SQLite

你的table名称不能是Group,Group是Sqlite中的关键字,To也是关键字

查看此处列出的 Sqlite 中的其他关键字.. https://www.sqlite.org/lang_keywords.html