Обновить значение столбца, заменив часть строки

У меня есть таблица со следующими столбцами в базе данных MySQL

[id, url]

И URL-адреса похожи на:

 http://domain1.com/images/img1.jpg

Я хочу обновить все URL-адреса в другом домене

 http://domain2.com/otherfolder/img1.jpg

сохранение имени файла как есть.

Какой запрос я должен выполнить?

Ответ 1

UPDATE urls
SET url = REPLACE(url, 'domain1.com/images/', 'domain2.com/otherfolder/')

Ответ 3

Попробуйте использовать функцию REPLACE:

mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
        -> 'WwWwWw.mysql.com'

Обратите внимание, что он чувствителен к регистру.

Ответ 4

Требование WHERE необходимо заменить ТОЛЬКО записями, которые соответствуют условию в предложении WHERE (в отличие от всех записей). Вы используете знак % для обозначения частичной строки: I.E.

LIKE ('...//domain1.com/images/%');

означает все записи, которые НАЧИНАЮТСЯ с "...//domain1.com/images/" и имеют что-нибудь ПОСЛЕ (что % для...)

Другой пример:

LIKE ('%http://domain1.com/images/%')

что означает все записи, которые содержат "http://domain1.com/images/"

в любой части строки...

Ответ 5

Попробуйте это...

update [table_name] set [field_name] = 
replace([field_name],'[string_to_find]','[string_to_replace]');

Ответ 6

Во-первых, нужно проверить

ВЫБЕРИТЕ * ИЗ university ГДЕ название курса НРАВИТСЯ '% & amp%'

Далее нужно обновить

ОБНОВЛЕНИЕ университета SET course_name = REPLACE (course_name, '& amp, & amp;') WHERE id = 1

Результаты: Engineering & Technology => Engineering & Технологии