Когда клиент добавляет в БД запись, то, чтобы добавить в интерфейс новую запись и работать с ней, нужно получить её id
Раньше делал типа
- Код: Выделить всё
//id - autoincrement
INSERT INTO table SET data="data";
SELECT TOP 1 * FROM table ORDER BY id DESC;
Но т.к. это не транзакция, то может возникнуть ситуация, когда в многопоточном режиме сделается более 1 инсерта => select получит последнюю запись в бд, а не добавленную...
Как лучше организовать выбор добавленной записи?
Или всё же отдельные подобные места лучше выпилить в тразакцию? Какой уровень изоляции транзакции для таких целей лучше? Snapshot?