我试图在SQLiteOpenHelper子类的android应用程序中创建SQLite数据库,但出现以下错误:
.SQLiteException: near "playlist": syntax error (code 1): , while compiling: CREATE playlist(
_id INTEGER PRIMARY KEY,
playlist_name TEXT,
sound_id Integer,
FOREIGN KEY (sound_id) REFERENCES sound(_ID)
);
这是我的相关代码,从String
常量开始,然后使用用于创建数据库的SQL代码:
public static final String CREATE_PLAYLIST_TABLE = "CREATE playlist(\n" +
" _id INTEGER PRIMARY KEY,\n" +
" playlist_name TEXT,\n" +
" sound_id Integer,\n" +
" FOREIGN KEY (sound_id) REFERENCES sound(_ID)\n" +
");";
public static final String CREATE_SOUND_TABLE = "CREATE sound(\n" +
" _id INTEGER PRIMARY KEY,\n" +
" volume REAL,\n" +
" rate REAL,\n" +
" FOREIGN KEY (sound_file) REFERENCES sound_file(_ID)\n" +
");";
public static final String CREATE_SOUND_FILE_TABLE = "CREATE sound_file(\n" +
" _id INTEGER PRIMARY KEY,\n" +
" sound_name TEXT,\n" +
" is_rate_editing_enabled REAL,\n" +
" url TEXT\n" +
");";
这是onCreate(SQLiteDatabase db)
方法:
@Override
public void onCreate(SQLiteDatabase db) {
Log.d(TAG, "onCreate database called");
db.execSQL(CREATE_PLAYLIST_TABLE);
db.execSQL(CREATE_SOUND_FILE_TABLE);
db.execSQL(CREATE_SOUND_TABLE);
}
关于这里出什么问题有什么想法吗?
您需要使用关键字TABLE
:
"CREATE TABLE playlist (" +
"_id INTEGER PRIMARY KEY, " +
"playlist_name TEXT, " +
"sound_id INTEGER, " +
"FOREIGN KEY (sound_id) REFERENCES sound(_ID))";
也适用于其他2个表。
的; 根本没用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句