Обновление нескольких записей по условию работает некорретно
Немного инфораций
Таблица
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все работает нормально
Подскажите где может быть ошибка?