Here's a pretty cool query that someone posted and that I modified. It pulls all the empty spell ID ranges. (It takes a while to run.)
Code:
SELECT (a.id + 1) AS `START`, (MIN(b.id) - 1) AS `END`, ((MIN(b.id - 1)) - (a.id + 1)) AS `AMOUNT` FROM spells_new AS a, spells_new AS b
WHERE (a.id < b.id) GROUP BY a.id HAVING (`START` < MIN(b.id))
ORDER BY `AMOUNT` DESC;