Замена подстроки 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 REPLACE
s?
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 и импортируйте обратно в базу данных.