@deepin

Возможно ли объединение однотипных запросов?

Запросы

$this->registry->model->pdo('update users set hp = case when hp + (:tm - hp_up) * hp_reg > hp_max then hp_max else hp + (:tm - hp_up) * hp_reg end, hp_up = :tm where hp < hp_max && id = :id limit 1', [
    ':tm' => time(),
    ':id' => $this->user->id
]);

$this->registry->model->pdo('update users set mp = case when mp + (:tm - mp_up) * mp_reg > mp_max then mp_max else mp + (:tm - mp_up) * mp_reg end, mp_up = :tm where mp < mp_max && id = :id limit 1', [
    ':tm' => time(),
    ':id' => $this->user->id
]);

$this->registry->model->pdo('update users set hit = case when hit + (:tm - hit_up) * hit_reg > hit_max then hit_max else hit + (:tm - hit_up) * hit_reg end, hit_up = :tm where hit < hit_max && id = :id limit 1', [
    ':tm' => time(),
    ':id' => $this->user->id
]);


запросы однотипные, меняются только имена (hp, mp, hit) поэтому вопрос: можно ли их объединить в один?
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
update tablename set field1=valu1e, field2=value2, ... where <condition>

незачем усложнять
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы