0

onCreate()メソッドでテーブルを作成しようとしていますが、sqliteは構文が間違っているという例外をスローしていますが、Firefox SQLite Managerで同じクエリを実行しようとすると、テーブルが正常に作成されます。コードの何が問題になっているのかわかりません。クエリは次のとおりです。

CREATE TABLE playlistSongs(
id INTEGER PRIMARY KEY,
playlist_id INTEGER,
FOREIGN KEY(playlist_id) REFERENCES playlists(id) ON DELETE CASCADE,
song_id INTEGER,
FOREIGN KEY(song_id) REFERENCES songs(id) ON DELETE CASCADE);

例外は:

11-22 16:44:58.066: E/AndroidRuntime(11241): Caused by:
android.database.sqlite.SQLiteException: near "song_id": syntax error:
CREATE TABLE playlistSongs(id INTEGER PRIMARY KEY,playlist_id
INTEGER,FOREIGN KEY(playlist_id) REFERENCES playlists(id) ON DELETE
CASCADE,song_id INTEGER,FOREIGN KEY(song_id) REFERENCES songs(id) ON
DELETE CASCADE);
4

1 に答える 1

0

問題はFOREIGNKEY宣言でした。私は、最後に次のように宣言しました。

CREATE TABLEplaylistSongs(id INTEGER PRIMARY KEY、playlist_id INTEGER、song_id INTEGER、FOREIGN KEY(playlist_id)REFERENCESplaylists(id)ON DELETE CASCADE、FOREIGN KEY(song_id)REFERENCES songs(id)ON DELETE CASCADE);

@njzk2に感謝します

于 2012-11-22T13:35:06.760 に答える