Если вы не используете автоинкрементные поля, вы можете получить аналогичный результат с чем-то вроде следующего:
insert into Customers (ID, FirstName, LastName)
select max(ID)+1, 'Barack', 'Obama' from Customers;
Это обеспечит отсутствие вероятности возникновения состояния гонки, которое может быть вызвано тем, что кто-то еще вставит в таблицу между вашим извлечением максимального идентификатора и вставкой новой записи.
Это использует стандартный SQL, без сомнения, есть лучшие способы добиться этого с помощью конкретных СУБД, но они не обязательно переносимы (к этому мы очень серьезно относимся в нашем магазине).