Если субд поддерживает autoincrement, то наподобии
CREATE TABLE pk_Table ( f1 ULONG AUTOINCREMENT) PRIMARY KEY ( f1 )
и делать ничего не придется, база данных сама сгенерирует уникальный id
с автоинкриментом понятно всё, а как же быть, если запись вставляется одновременно двумя пользователями и нужно точно знать какой id будет у неё, ведь опять же возможно, что будут получены неверные id.
пример нормальной работы в хронологическом порядке:
1)INSERT ... - пользователь Вася
2)MAX(id)... - пользователь Вася
3)INSERT... - пользователь Петя
4)MAX(id)... - пользователь Петя
а ведь возможно такое
1)INSERT ... - пользователь Вася
2)INSERT... - пользователь Петя
3)MAX(id)... - пользователь Вася
4)MAX(id)... - пользователь Петя
как с этим бороться? транзакции???