@SteepNET

Update в BD если есть несколько значений?

Добрый день!
Прошу помощи как можно реализвать запрос в BD , пишу на php скрипт
Таблица такая `outbound_route_trunks` состоит из
route_id,trunk_id,seq
16,117,0
16,118,1
16,120,2
16,121,3

Мне нужно сделать update таблицы и присвоить значение 0 поля seq,но другие значения в таблице уже не могут иметь значение 0 в поле seq
Тоесть так не может быть
16,117,0
16,118,0
Получается что нужно остальные значения поля route_id кроме того которому посылаю update 0 менять на +1 или как то иначе, нужно что бы всегда было так
16,117,0
16,118,1
и.т.д если есть...
$route_id = 16;
$trunk_id = 118;
$seq = 0;
$query ="UPDATE outbound_route_trunks SET seq= $seq , trunk_id= $trunk_id WHERE route_id = $route_id";
Так будет выглядеть запрос на обновление нужной таблицы, но что делать с $trunk_id = 117; ему надо обновременно посылать $seq = 1; и.т.д если есть другие значения с одинаковым $route_id
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Ну и в чем проблема?
update routes set
	seq = if(trunk_id = 118, 0, trunk_id)
where route_id = 16;


update routes set
	seq = if(trunk_id = 118, 0, seq+1)
where route_id = 16;


Test SQL online
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы