22:26 |
Тема: SQL Транзакции
Jane [Off] (21.01.2013 / 17:46)
Если баллы вычлись, но не успели по какой-то причине прибавиться (не прошел второй запрос), то возникает проблема, которая может вызвать недовольство тех самых людей, производивших обмен.
В этом случае и стоит использовать транзакции. Тогда выполнятся либо оба запроса одновременно, либо ни один.
Условия для использования транзакций - это наличие транзакционный тип таблицы.
По умолчанию таблица имеет тип MyISAM, поэтому первым делом мы меняем тип своей таблицы на InnoDB, а потом пишем такой код:
ваш любимый админ
Вначале мы вычли баллы у юзера с id 1, потом прибавили их юзеру с id 2.Если баллы вычлись, но не успели по какой-то причине прибавиться (не прошел второй запрос), то возникает проблема, которая может вызвать недовольство тех самых людей, производивших обмен.
В этом случае и стоит использовать транзакции. Тогда выполнятся либо оба запроса одновременно, либо ни один.
Условия для использования транзакций - это наличие транзакционный тип таблицы.
По умолчанию таблица имеет тип MyISAM, поэтому первым делом мы меняем тип своей таблицы на InnoDB, а потом пишем такой код: