Правильное использование lock tables

Рейтинг: 0Ответов: 0Опубликовано: 27.01.2015

Доброго времени суток. Есть такой код на 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'); // разблокировали

Так?
Заранее спасибо.

Ответы

Ответов пока нет.