That's the way it works. When you insert a new record the database does a "SELECT Max(ID)" query, adds one to it, and makes it the new ID. If you want to fill in gaps from deleting records you'll have to generate the ID manually, not a process I'd recommend. Usually you don't care what the ID is, just that it's unique.