В моей базе данных Mysql
, у меня есть таблица данных, как показано нижеусловно строка обновления на основе другого результата обновления
id | id_fk | name | address | city | priority | status |
--------------------------------------------------------------
1 | 1 | name1 | address1 | city1 | | active |
2 | 2 | name2 | address2 | city2 | primary | active |
3 | 1 | name3 | address3 | city3 | primary | active |
4 | 1 | name4 | address4 | city4 | | active |
5 | 1 | name5 | address5 | city5 | | active |
6 | 3 | name6 | address6 | city6 | primary | active |
--------------------------------------------------------------
Здесь id
является строка идентификатора, id_fk
является ссылкой из другой таблицы. status
- состояние данных. Если данные будут удалены, то это будет deleted
. и priority
для ссылки на адрес по умолчанию.
Моя проблема в том,
Если удалить адрес с id = 3
, то там не будет первым приоритетом адрес «id_fk = 1». Я хотел бы изменить статус «id = 3» как deleted
и установить priority
любого другого адреса с «id_fk = 1» как primary
.
Простой UPDATE
запрос этого не сделает. Есть ли способ сделать это? Заранее спасибо.
Я пытался сделать это с помощью тематического, когда заявления и если заявление, но не :(А пока лучшего ответ смогу дать вам просто сделать это, используя 2 запроса обновления (если первый изменил строку, обновил еще одну строку до состояния «первичный») – iLot