Удалить всю строку из таблицы mySql, содержащей случайные символы - PullRequest
1 голос
/ 17 февраля 2020

Я пытаюсь удалить строки из таблицы БД, которые содержат случайные символы ...

Строка выглядит следующим образом:

<h1 class="visible-xs">Chocolates</h1>

например,

<h1 class="visible-xs">UNKNOWN</h1>

Существуют тысячи таких записей, но слово «Шоколад» в каждом случае отличается.

Поэтому я хочу удалить эту строку из поля таблицы ...

например

UPDATE products SET products = REPLACE ( post_content, '**********', '' );

, где звездочки передают строку для удаления.

Пожалуйста, помогите, я искал везде, но я полный нуб к этому регулярному выражению!

1 Ответ

2 голосов
/ 17 февраля 2020

Если вы работаете MySQL 8.0, вы можете использовать regexp_replace():

update posts
set products = regexp_replace(
    post_content, 
    '<h1 class="visible-xs">[^<]+</h1>', 
    '<h1 class="visible-xs"></h1>'
)

Предполагается, что строка для удаления не содержит символа '<'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...