2017-07-01 9 views
0

私ののSQLiteデータベースでこのエラーが発生しています。このエラーで問題が発生したのは今回が初めてのため、私は助けが必要です。android.database.sqlite.SQLiteException:near "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

はConstants.START_YEARのためにいくつかの代わりに '' int'数のSTRING' 'Constants.START_YEAR' –

+0

チェック値を入れて、定数内のEND_YEAR – akhilesh0707

+2

説明の後(クエリ内)には、「START_YEAR」と「END_YEAR」があり、どちらも整数の1です。 '1'という名前の列を持つことはできません。特に、1という名前の2つの列を持つことはできません。 –

答えて

0

create table文を印刷してみます。その文法が正しくないことが明らかです。構文を訂正すれば正常に動作します。

EDIT:コメント欄のように示唆されていませんが、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)"; 
関連する問題