@lumb

Как с помощью регулярки удалить данные в БД?

Имеется много конструкций в поле content от title="Иллюстрация 1" до title="Иллюстрация 250"
как их удалить регулякой, а не по одной
по одной можно так, если кому надо
UPDATE `site_content` SET `content` = REPLACE(content,'title="Иллюстрация 1"','')

попробовал так, стёр всю базу)
UPDATE `os_site_content` SET `content` = REPLACE(content,'title="Иллюстрация LIKE'%'"','')


и еще хотелось бы узнать, как удалить лишние переносы строк, часто в бд по 3-4 переноса подряд идут
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
romanko_vn
@romanko_vn
Если у вас MySQL 8.0+ то можно использовать REGEXP_REPLACE
mysql> SELECT REGEXP_REPLACE('a b c', 'b', 'X');
+-----------------------------------+
| REGEXP_REPLACE('a b c', 'b', 'X') |
+-----------------------------------+
| a X c                             |
+-----------------------------------+


UPDATE `site_content` SET `content` = REGEXP_REPLACE(content, 'title="Иллюстрация [0-9]+"', '')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы