У меня есть столбец, содержащий URL-адреса (ID, URL):
http://www.example.com/articles/updates/43
http://www.example.com/articles/updates/866
http://www.example.com/articles/updates/323
http://www.example.com/articles/updates/seo-url
http://www.example.com/articles/updates/4?something=test
Я хотел бы изменить слово «обновления» на «новости». Возможно ли это сделать с помощью скрипта?
Ответы:
Теперь строки, которые были похожи
http://www.example.com/articles/updates/43
будет
http://www.example.com/articles/news/43
http://www.electrictoolbox.com/mysql-find-replace-text/
источник
WHERE LIKE
предложение в конце, потому что если текст не найден, строка не будет обновлена, но это должно ускорить процесс . "LIKE '%%'
не использует никаких индексов, если в этом WHERE были другие части, например что-то вроде того,date_added > '2014-07-01'
что могло бы помочьДа, MySQL имеет функцию REPLACE ():
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace
Обратите внимание, что проще использовать псевдоним при использовании
SELECT
источник
updates
отображается только один раз в строке, это будет работать. В противном случае вы застряли с прямым манипулированием строк, что является реальной болью в MySQL. В этот момент было бы проще написать одноразовый скрипт для выбора полей, манипулирования в клиенте и последующей обратной записи.Функция замены должна работать на вас.
Возвращает строку str со всеми вхождениями строки from_str, замененной строкой to_str.
REPLACE()
выполняет поиск с учетом регистра при поиске from_str.источник
Вы можете просто использовать функцию replace (),
Примечание. Приведенный выше запрос предназначен для обновления записей непосредственно в таблице, если вы хотите выполнить запрос select и данные не должны быть затронуты в таблице, тогда можно использовать следующий запрос:
источник
В дополнение к ответу gmaggio, если вам нужно динамически
REPLACE
и вUPDATE
соответствии с другим столбцом, вы можете сделать, например:В моем примере строка
articles/news/
хранится вother_table t2
и нет необходимости использоватьLIKE
вWHERE
предложении.источник