2017-07-01 69 views
0

我在Android應用程序中收到我的SQLite數據庫錯誤。這是我第一次遇到這個錯誤,所以我需要幫助。android.database.sqlite.SQLiteException:接近「1」:語法錯誤(代碼1):編譯時

這裏是我的代碼:

@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

把一些'String',而不是'int'號'Constants.START_YEAR' –

+0

校驗值Constants.START_YEAR和Constants中的常量.END_YEAR – akhilesh0707

+2

經過描述(在您的查詢中)後,您有'START_YEAR'和'END_YEAR',兩者都是第一個整數。你不能有一個名爲'1'的列。你尤其不能有兩列名爲'1'。 –

回答

0

嘗試打印您的創建表語句。它清楚地表明語法不正確。糾正語法,然後它會正常工作。

編輯:如在評論部分中建議你不能有列2列名稱爲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)"; 
相關問題