Представьте что вы запускаете несколько процессов, которые делают select запрос к одной и той же таблице. Если не предусмотреть специальное условие, то несколько процессов могут выбрать одну и ту же запись одновременно. В этой статье я покажу вам решение, которое на 100% поможет избежать подобной ситуации.
Для того, чтобы избежать вышеупомянутой ситуации необходимо выполнить не просто SELECT
запрос, а его расширенную версию, о которой многие и не подозревают: SELECT … FOR UPDATE
.
Подробнее: выборка через запрос SELECT … FOR UPDATE