okay i figured it out. thank you all so much for your hints and suggestions!!
my problem was that my "stal" marked items were the wrong items. once i marked the CORRECT items as stale, the statement worked. also i realized that the old playlist is about to be deleted by the caller of this routine anyway, so all i needed to do was set them back to the old playlist ID, rather than delete them. here's my final, working statement: UPDATE playlist SET plID = 33 WHERE EXISTS ( SELECT 1 FROM song WHERE playlist.soID = song.soID AND song.plID = 33 AND song.Stal ) AND playlist.plID = 35 _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users