Задать вопрос
@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 переноса подряд идут
  • Вопрос задан
  • 109 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 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]+"', '')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы