Правильное использование lock tables
Доброго времени суток. Есть такой код на php:
$var = $db->query('select from `table`'); // выбрали значения
doSomething($var); // обработали
$db->query('update `table`'); // записали обратно
Проблема в том, что иногда во время исполнения doSomething() скрипт запускается еще раз (к примеру, пользователь заходит на сайт), и doSomething() исполняется дважды с одними и теми же значениями. Есть идея использовать lock tables, но как это правильно сделать?
$db->query('lock tables `table`'); // заблокировали
$var = $db->query('select from `table`'); // выбрали значения
doSomething($var); // обработали
$db->query('update `table`'); // записали обратно
$db->query('unlock tables'); // разблокировали
Так?
Заранее спасибо.
Источник: Stack Overflow на русском