Обновление нескольких записей по условию работает некорретно

Немного инфораций

Таблица  

id | user_id | training_id | group  
1  |   1     |       1     |   1  
2  |   2     |       1     |   1  
3  |   3     |       1     |   1  
4  |   4     |       1     |   0  
5  |   5     |       1     |   0  
6  |   6     |       1     |   0  

group по умолчанию 0, это типа счетчик которая определяет какой юзер подлежит той или иной группе если 0 то группа еще не создана

Есть пользователи и тренинги с определнным кол-вом места для пользователей, и при достижений одного курса до 3 человек она автоматический "закрывается" т.е. колонка group становится от 0 до 1 или если max значение 2 то на 3 и.т.д.

Сама проблема

Запрос: ('UPDATE table SET group = :group WHERE training_id = :id AND group = 0', $data)

Массив: $data = [ 'group' => $max_group+1, 'id' = $id ]

В результате group должен был обновится с 0 на 2, но на деле все становится 1

Когда убираю условие WHERE group = 0 все работает нормально
Подскажите где может быть ошибка?


Ответы (0 шт):