2016-03-19 80 views
-1

我試圖將詳細信息保存到數據庫中,這是我創建表和列時的部分。但我發現了一個異常錯誤附近「(」android.database.sqlite.SQLiteException:near「(」:syntax error(code 1) - 異常錯誤

public void onCreate(SQLiteDatabase db) { 
    db.execSQL(" CREATE TABLE " + TABLE_NAME + " (" + _ID + " INTEGER PRIMARY KEY AUTOINCREMENT , " + TITLE + " TEXT NOT NULL ," + TIME + " TEXT NOT NULL , " + DATE + " TEXT NOT NULL , " + DETAILS + " TEXT NOT NULL, ("+TITLE+", "+DATE+" UNIQUE)); "); 
} 

任何人都可以可以幫助我

+0

你想要約會是唯一的日期和標題? – trebron

+0

他們都@trebron – Harsh

+1

**狂猜**:你的表名包含空格!或者它是一個保留關鍵字。 –

回答

1

你創建表的語句是不正確的

的錯誤是在這一部分。?:

("+TITLE+", "+DATE+" UNIQUE) 

the documentation,如果你想你的標題和日期是唯一的(這兩個領域的結合),您創建語句必須

db.execSQL(" CREATE TABLE " + TABLE_NAME + " (" + _ID + " INTEGER PRIMARY KEY AUTOINCREMENT , " + TITLE + " TEXT NOT NULL ," + TIME + " TEXT NOT NULL , " + DATE + " TEXT NOT NULL , " + DETAILS + " TEXT NOT NULL, CONSTRAINT uniquetitledate UNIQUE ("+TITLE+", "+DATE+")); "); 

或者,如果你希望你的標題是唯一的,你的日期是唯一的,你的創建聲明必須是

db.execSQL(" CREATE TABLE " + TABLE_NAME + " (" + _ID + " INTEGER PRIMARY KEY AUTOINCREMENT , " + TITLE + " TEXT NOT NULL ," + TIME + " TEXT NOT NULL , " + DATE + " TEXT NOT NULL , " + DETAILS + " TEXT NOT NULL, CONSTRAINT uniquetitle UNIQUE ("+TITLE+"), CONSTRAINT uniquedate UNIQUE ("+DATE+")); "); 
相關問題