Помогите с SQL запросом

Технические вопросы по UTM 5.0
Ответить
995533-g
Сообщения: 26
Зарегистрирован: Пн мар 16, 2009 10:52

Помогите с SQL запросом

Сообщение 995533-g »

Помогите с запросом.

Есть услуга ИП-Трафик.

Клиентам прописаны ИП сетка /24

к примеру 192.168.0.0

я хочу всем поменять одним запросом на: 192.168.5.0

Как будет выглядеть скрипт.

Спасибо заранее!

gil
Сообщения: 355
Зарегистрирован: Вт ноя 11, 2008 14:28

Сообщение gil »

Ну, получается так:

Код: Выделить всё

UPDATE
	`UTM5`.`ip_groups`
SET
	`ip` = ( INET_ATON( REPLACE(INET_NTOA(`ip` & 0xFFFFFFFF),'192.168.0.','192.168.5.') ) - 0xFFFFFFFF - 1)
WHERE
	`is_deleted` = 0;
Перед остановить ядро, сделать дамп базы..

gil
Сообщения: 355
Зарегистрирован: Вт ноя 11, 2008 14:28

Сообщение gil »

в функции REPLACE, ес-но, второй параметр - "что меняем", третий - "на что меняем"..
то есть, меняем "192.168.0." на "192.168.5."..
хорошо, если /24 или /16, иначе чуть дольше думать придется..
но, в любом случае, можно оперировать и числами..
разницу засечь, да изменить типа "set `ip`=`ip`+какое_то_число"..

995533-g
Сообщения: 26
Зарегистрирован: Пн мар 16, 2009 10:52

Сообщение 995533-g »

gil писал(а):в функции REPLACE, ес-но, второй параметр - "что меняем", третий - "на что меняем"..
то есть, меняем "192.168.0." на "192.168.5."..
хорошо, если /24 или /16, иначе чуть дольше думать придется..
но, в любом случае, можно оперировать и числами..
разницу засечь, да изменить типа "set `ip`=`ip`+какое_то_число"..
Спасибо, буду пробовать!

Ответить