Mysql Trigger: обновить одну строку и повлиять на другую строку - PullRequest
0 голосов
/ 27 июня 2018

Я очень новичок в MySQL, у меня есть таблица с некоторыми данными (см. Ниже).

Как создать некий триггер на MySQL, чтобы каждый раз, когда я обновлял mainPhone до "Yes", остальные строки обновлялись до "No".

  id | phoneNumber | mainPhone |
-----+-------------+-----------|
  1  | 08512312334 |    Yes    |
-----+-------------+-----------|
  2  | 08512312323 |    No     |
-----+-------------+-----------|
  3  | 08512312312 |    No     |
-----+-------------+-----------|
  3  | 08512312312 |    No     |

1 Ответ

0 голосов
/ 27 июня 2018

Если вы единственный, кто обращается к этой таблице, то почему бы не обновить остальные строки самостоятельно? Когда вы меняете состояние одной строки, обновляйте состояние других.

Это можно сделать с помощью оператора NOT:

UPDATE myTable SET mainPhone = "Yes" WHERE condition
UPDATE myTable SET mainPhone = "No" WHERE NOT condition
...