![]() |
Показаны 11 сообщений на этой странице |
Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- MySQL (http://netadmin.ws/forum/forumdisplay.php?forumid=40)
-- Затрудняюсь в создании Sql-запроса (http://netadmin.ws/forum/showthread.php?threadid=10984)
Затрудняюсь в создании Sql-запроса
Есть таблица с полями file и url.
Необходимо, изменить записи в такой таблице.
Изначально:
| - file - | - url -
|--------|----------
|123.zip | -----
|222.rar | -----
|aaa.zip | -----
Нужно получить:
| - file - | - url -
|-------|----------
|-------| http://site.com/123.zip
|-------| http://site.com/222.rar
|-------| http://site.com/aaa.zip
Не силен в MySQL, можно ли это сделать запросом?
CONCAT()
__________________
The time was broken ...
Спасибо!
Действительно, все оказалось просто:
UPDATE table
SET url=CONCAT('http://site.com/', file);
Еще вопрос, из той-же серии
Нужно перезаписать в базе, текстовом поле(post_text), часть текста на другой.
Нечто вроде:
UPDATE table SET post_text = REPLACE(post_text, '[size=11:723152872a]text[/size:723152872a]', 'text2');
quote:Что ты имеешь ввиду? То, что он берётся из другого поля этого же запроса или что?
он может быть абсолютно любой
__________________
The time was broken ...
Нет, это все в том-же поле (мессага пользователя)
Другими словами, мне нужно в SQL-запросе, применить аналог PHP:
eregi_replace("[\[]size=11:[a-z0-9]{1,10}[\[]text[\[]size=11:[a-z0-9]{1,10}[\[]", "text2", $message)
Пробовал запросом, и скрипт ваять, но не получилось 
Т.к. действие это (я надеюсь) неповседневное, то используя REGEXP выбери строки в которых содержится нужное сочетание, а затем уже в самом PHP-скрипте замени.
__________________
The time was broken ...
Буду пробовать ...
С другой стороны, пока понятно, почему не работает запрос типа такого:
UPDATE table SET post_text =replace(post_text, post_text REGEXP 'text1', 'text2');
Вернее работает, но результат такой:
text1 -> texttext2
А нужно:
text1 -> text2
Я MySQL только недавно начал осваивать, так что сильно не ругайте, если что не так спрашиваю ...
Вообще REGEXP это ф-ия сравнения. Т.е. для выборки или замены чего-либо она непригодна.
__________________
The time was broken ...
Спасибо, теперь вьехал.
Ð_ыл не в ту сторону из-за сввоей невнимательности прочтения что возвращает эта функция ...
Итак, то, что родилось, приатачил.
Скрипт позволяет производить замену текста в постах движка phpBB, с использованием регулярных выражений.
Пока, тупо перебираются все посты и производится замена ...
При желании, может быть переделан для других целей.
| Формат времени GMT. Текущее время 14:57. | Показаны 11 сообщений на этой странице |
Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.