android.database.sqlite.SQLiteException:接近“1”:语法错误(代码1):,同时编译

时间:2017-07-01 12:21:13

标签: java android sqlite

我在Android应用中的 SQLite 数据库出现此错误。这是我第一次遇到此错误的问题,所以我需要帮助。

这是我的代码:

@Override
public void onCreate(SQLiteDatabase db) {
  String CREATE_WE_TABLE = "CREATE TABLE " + Constants.TABLE_NAME +
                "("+ Constants.KEY_ID + " INTEGER PRIMARY KEY , " +
                Constants.JOB_TITLE + " TEXT NOT NULL , " + Constants.JOB_DESCRIPTION +
                " TEXT NOT NULL , " + Constants.START_YEAR + " TEXT NOT NULL , " +
                Constants.END_YEAR + " TEXT NOT NULL);";

  db.execSQL(CREATE_WE_TABLE);
}

我的错误:

android.database.sqlite.SQLiteException: near "1": syntax error (code 1): , while compiling: CREATE TABLE workexperience(_id INTEGER PRIMARY KEY , title TEXT NOT NULL , description TEXT NOT NULL , 1 TEXT NOT NULL , 1 TEXT NOT NULL);

什么似乎有问题?

2 个答案:

答案 0 :(得分:0)

尝试打印您的create table语句。它清楚地说语法不正确。更正语法然后它将正常工作。

编辑:在评论部分建议您不能将第二列的列名称改为1.请将其更改为有效。

答案 1 :(得分:-1)

请粘贴此代码  你最后只需要一个分号(;),如

String CREATE_WE_TABLE = "CREATE TABLE " + Constants.TABLE_NAME +
            "("+ Constants.KEY_ID + " INTEGER PRIMARY KEY , " +
            Constants.JOB_TITLE + " TEXT NOT NULL , " + Constants.JOB_DESCRIPTION +
            " TEXT NOT NULL , " + Constants.START_YEAR + " TEXT NOT NULL , " +
            Constants.END_YEAR + " TEXT NOT NULL)";