MySQL заменить в с заявлением, если - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть таблица с именем "selected_languages" выглядит так:

-----------------------------------------------------------
language_ref   |   language _name   |   language_active   |
-----------------------------------------------------------
en             |    English         |        Y            |
-----------------------------------------------------------
es             |    Espanol         |        Y            |
-----------------------------------------------------------
fr             |    Francias        |        Y            |
-----------------------------------------------------------
he             |    hebrew          |       NULL          |
-----------------------------------------------------------

Я хотел бы создать запрос, который установит активным только английский язык ТОЛЬКО если активны 3 языка - en, es, fr (Y) и язык "he" равен нулю ( так же, как в таблице). только в этом случае - измените все на N в "language_active" и оставьте английский язык единственным активным.

любая помощь?

спасибо!

1 Ответ

0 голосов
/ 03 ноября 2018

Вы захотите поместить что-то подобное в триггер обновления.

if exists (select * from supported_languages where language_ref = 'en' and language_active = 'Y')
    and exists (select * from supported_languages where language_ref = 'es' and language_active = 'Y')
    and exists (select * from supported_languages where language_ref = 'fr' and language_active = 'Y')
    and exists (select * from supported_languages where language_ref = 'he' and language_active = 'N')
    update supported_languages set language_active = 'N' 
where language_ref = 'es' or language_ref = 'fr'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...