Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建表时出现Android sqlite异常_Android_Sqlite_Android Sqlite - Fatal编程技术网

创建表时出现Android sqlite异常

创建表时出现Android sqlite异常,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,我试图在onCreate()方法中创建表,但sqlite引发语法错误的异常。但是,如果我在Firefox sqlite管理器中尝试相同的查询,它将成功创建表。我不知道我的代码有什么问题。查询如下: CREATE TABLE playlistSongs( id INTEGER PRIMARY KEY, playlist_id INTEGER, FOREIGN KEY(playlist_id) REFERENCES playlists(id) ON DELETE CASCADE, song_id I

我试图在onCreate()方法中创建表,但sqlite引发语法错误的异常。但是,如果我在Firefox sqlite管理器中尝试相同的查询,它将成功创建表。我不知道我的代码有什么问题。查询如下:

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);

问题是外键声明。我在最后这样声明它们:

创建表格播放歌曲(id整数主键,播放列表\u id 整数、歌曲id整数、外键(播放列表id)引用 删除级联上的播放列表(id),外键(歌曲id)引用 删除级联上的歌曲(id)


感谢@njzk2

PRAGMA编译选项的结果是什么在两个数据库中?什么是PRAGMA compile_options?我真的不知道这个以及如何使用它?我想你应该在最后声明外键