Вот как я решил это в прошлом.
Для получения информации, которая потребует такого рода «блокировок», добавьте числовой столбец с именем «version».
Каждый раз, когда строка в этой таблице сохраняется, увеличивайте значение 'version' на 1.
Включите это значение в любую форму, используемую для редактирования таблицы.
Если пользователь A извлекает запись в то же время, что и пользователь B, но пользователь B сначала сохраняет информацию, «версия» будет другой, когда пользователь A отправит свою форму.
При отправке формы проверьте, что переданная «версия» соответствует «версии» из БД. Если это так ... обновите таблицу. Если он не перенаправляет пользователя в форму и не сообщает им, что они не обновляют самую последнюю «версию» данных, и дает им возможность загрузить обновленные данные.