public int insertSong(ArchiveSongObj song) { db.execSQL( "INSERT INTO songTbl(fileName,songTitle,show_id,isDownloaded,folderName) " + "SELECT '" + song.getFileName() + "','" + song.toString().replaceAll("'", "''") + "',show._id,'false','' " + "FROM showTbl show " + "WHERE show.showIdent = '" + song.getShowIdentifier() + "' " + "AND NOT EXISTS (SELECT 1 FROM songTbl song WHERE song.fileName = '" + song.getFileName() + "')"); Cursor cur = db.rawQuery( "Select _id as song_id from songTbl " + "where fileName = '" + song.getFileName() + "'", null); cur.moveToFirst(); int id = cur.getInt(cur.getColumnIndex(PLAYLISTSONG_SONG_KEY)); cur.close(); if (song.hasFolder()) { db.execSQL("Update songTbl set folderName = '" + song.getFolder() + "' where _id = " + id); } return id; }