2011-08-09 30 views
0

這是我的代碼:帶多主鍵的sqlite命令?

private static final String CREATE_VISIT_TABLE = 
    " create table " + VISIT_TABLE + 
    " (tripdayid integer REFERENCES TripDay(_id)," + 
    " poiid integer REFERENCES POI(_id)," + 
    " arrival_time text not null," + 
    " start_time text not null," + 
    " visiting_duration text not null," + 
    " leaving_time text not null," 
    " PRIMARY KEY (tripdayid, poiid));"; 

...但它返回一個錯誤,在一行的末尾:

"Syntax error on token "" PRIMARY KEY (tripdayid, poiid));"", delete this token"

回答

4

我猜,語法錯誤不是從未來的SQLite但是從你的編譯器,你錯過了一個+

" leaving_time text not null," // Missing + right here. 
" PRIMARY KEY (tripdayid, poiid));"; 

你的編譯器看到的是這樣的:

"..." "..." 

,不知道該怎麼辦了,錯誤消息的雙引號:

"Syntax error on token "" PRIMARY KEY (tripdayid, poiid));"" 
         ^        ^
         |------ these ones ---------------| 

是白送。

另外,該主鍵語法是allowed in SQLite

+0

非常感謝。 ^^ – android

+0

和這個怎麼樣一個私有靜態最後絃樂CREATE_VISIT_TABLE = \t 「創建表」 + VISIT_TABLE + \t 「(_id整數自動增量」 + \t 「tripdayid整數參考文獻TripDay(_id),」 + \t「poiid整數參考POI(_id),」 + \t 「arrival_time的文本不爲空,」 + \t 「START_TIME文本不爲空,」 + \t 「visiting_duration文本不爲空,」 + \t 「leaving_time文本不爲空,」 + \t「PRIMARY KEY(_id,tripdayid));」; – android

+0

它說 - > 08-09 11:28:25.380:錯誤/ AndroidRuntime(14339):引起:android.database.sqlite.SQLiteException:接近「autoincrement」:語法錯誤:創建表訪問(_id整數自動增量,tripdayid整數REFERENCES TripDay(_id),poiid整數REFERENCES POI(_id),arrival_time文本不爲空,start_time文本不爲空,visit_duration文本不爲null,leave_time文本不爲null,PRIMARY KEY(_id,tripdayid)); – android