Du kan bruge noget som dette:
INSERT INTO users (user_id, name)
SELECT 1 + coalesce((SELECT max(user_id) FROM users WHERE name='Bob'), 0), 'Bob';
Men en sådan forespørgsel kan føre til en racetilstand. Sørg for, at du er i en transaktion, og du låser brugertabellen, før du kører den. Ellers kan du ende med to Bobs med samme nummer.