Замена подстроки SQL

Я использую HeidiSql, и у меня есть база данных с ~1000 URL. Пример:

index.php?option=com_flexicontent&view=items&cid=283&id=33
index.php?option=com_flexicontent&view=items&cid=421&id=4411
index.php?option=com_flexicontent&view=items&cid=415&id=4375

Что мне нужно сделать, это заменить cid= со значениями от 408 до 477 до cid=403

Я сделал сценарий SQL, как это:

UPDATE jos_menu
SET link = REPLACE(link, "cid=411", 'cid=403')

Но как мне изменить cid= значения от 408 до 477, без учета 70 REPLACEs?

2 ответа

Я не могу проверить это, но попробовать это

UPDATE jos_menu
SET link = REPLACE(link, 'cid=' + SUBSTRING(@str, CHARINDEX( 'cid=', @str) + 4, 3), 'cid=403')
WHERE Cast(SUBSTRING(@str, CHARINDEX( 'cid=', @str) + 4, 3) as Int) > 407 And Cast(SUBSTRING(@str, CHARINDEX( 'cid=', @str) + 4, 3) as Int) < 478

Сделайте резервную копию таблицы или базы данных в phpmyadmin и сохраните ее в виде файла.cvs. Используйте Excel, чтобы сделать замены. Затем сохраните его как файл.cvs и импортируйте обратно в базу данных.

Другие вопросы по тегам