У меня есть таблица со следующими столбцами в базе данных MySQL
[id, url]
И URL-адреса, как:
http://domain1.com/images/img1.jpg
Я хочу обновить все URL в другой домен
http://domain2.com/otherfolder/img1.jpg
сохраняя имя файла как есть.
Какой запрос я должен выполнить?
Ответы:
источник
соответствующие документы: http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_replace
источник
WHERE
оптимизирует запрос, чтобы изменить только строки с определенным URL. По логике, результат будет таким же, но добавлениеWHERE
сделает операцию быстрее.WHERE
также гарантирует, что вы заменяете только те части строк, которые начинаются сhttp://etc/etc/
или,string_to_be_replaced.
например, в данном ответеhttp://domain1.com/images/this/is/a/test
будут затронуты, ноfoobar/http://domain1.com/images/
не будут затронуты .Попробуйте использовать функцию ЗАМЕНА :
Обратите внимание, что он чувствителен к регистру.
источник
Вы нуждаетесь в WHERE условии , чтобы заменить ТОЛЬКО запись , которая соответствует условию в WHERE пункте (в отличие от всех записей). Вы используете знак % для обозначения частичной строки: IE
означает все записи , которые НАЧАТЬ с
"...//domain1.com/images/"
и иметь что - либо после того, как (это%
для ...)Другой пример:
что означает все записи, которые содержат
"http://domain1.com/images/"
в любой части строки ...
источник
Попробуй это...
источник
Сначала нужно проверить
ВЫБЕРИТЕ * ОТ
university
ГДЕ название курса НРАВИТСЯ '% & amp%'Далее нужно обновить
ОБНОВЛЕНИЕ университета SET Course_name = REPLACE (название_курса, '& amp', '&') WHERE id = 1
Результаты: Инженерные и усилительные технологии => Инженерные и технологические
источник