У меня есть блог Wordpress с базой данных mysql. Недавно мне пришлось изменить плагин, предназначенный для форматирования кода, и в результате я столкнулся с перспективой замены подстроки в нескольких строках в определенном поле другой подстрокой.
Текст поиска: <pre class="lang:default decode:true ">
Текст, который его заменяет: [code]
Столбец (поле), которое содержит подстроку: post_content
В настоящее время я использую phpmyadmin, чтобы найти текст, экспортировать все строки в дамп sql, выполнить sed для файла дампа и повторно импортировать его. Подстрока является частью большей строки (по определению), другие элементы строки не должны нарушаться.
Я хотел бы узнать, как это сделать с помощью mysql, не работая с дампом.
Попробовав решение Мзеделера, я обнаружил, что некоторые выражения содержат <pre class="lang:default decode:true">
вместо <pre class="lang:default decode:true ">
(один с лишним пробелом после истины). Как я могу выполнить поиск по регулярному выражению, а затем заменить его на предполагаемую строку?
1 ответ
UPDATE <my table>
SET post_content = REPLACE(
post_content,
'<pre class="lang:default decode:true ">',
'[code]'
)
Похожие вопросы
Новые вопросы
mysql
MySQL — это бесплатная система управления реляционными базами данных (RDBMS) с открытым исходным кодом, которая использует язык структурированных запросов (SQL). НЕ ИСПОЛЬЗУЙТЕ этот тег для других БД, таких как SQL Server, SQLite и т. д. Это разные БД, которые используют свои собственные диалекты SQL для управления данными.
<pre class="lang:default decode:true ">
, так и<pre class="lang:default decode:true">
, как бы я поступил? В первом выражении после «истины» есть лишний пробел. Как мне добавить сопоставление регулярного выражения для этого sql-запроса?sed
, скорее всего, будет самым простым.