Можете да използвате нещо подобно:
INSERT INTO users (user_id, name)
SELECT 1 + coalesce((SELECT max(user_id) FROM users WHERE name='Bob'), 0), 'Bob';
Но такова запитване може да доведе до състояние на състезание. Уверете се, че сте в транзакция и сте заключили таблицата с потребители, преди да я стартирате. В противен случай може да се окажете с два Боба със същия номер.