Регулярное выражение в MySQL

Жалоба
Вопрос

Нужно найти и удалить в таблице table в строке str все части записи вида  [files:1](число любое может быть)


Насколько я понимаю, нужно делать как-то так:


UPDATE `table`  SET `str`= REPLACE(``str``, REGEXP "'filesd:[1234567890]*]'", '')


но где-то ошибка )))

подскажите кто знает
Дополнение #1 14.10.2011 2:46:36
Удалить не всю запись - а часть только. В записи встречается [files:n] - вот его и нужно удалить

В процессе 1
программирование 4 года назад 4 Ответов 234 Просмотров 0

Ответов ( 4 )

    0
    6 лет назад
    Ответить

    Функция называется STR_REPLACE.

    0
    6 лет назад
    Ответить

    MySQL не умеет заменять по регулярке. Только искать. Поэтому добрые люди написали UDF, чтобы было как в Оракле.

    0
    6 лет назад
    Ответить

    ну если надо удалить, то это DELETE , насколько я понимаю

    0
    6 лет назад
    Ответить

    Если УДАЛИТЬ, то зачем UPDATE?

    DELETE FROM `table` WHERE `str` LIKE '[files:%]';

Ваш ответ