-Cross- Опубликовано 19 Февраля 2008 Жалоба Поделиться Опубликовано 19 Февраля 2008 Я хочу выполнить запрос в бдupdate table_name set field_name=replace(field_name, "old", "new")Объясните как создать условие, что если в old содержится к примеру буква X то запрос для этой записи не выполняется.А теперь конкретно.Я сделал ссылки на своём форуме в редиректы и хочу заменить все свои старые ссылки на ссылки с редиректом.Т.е запрос будет выглядить так:update `mt_posts` set `post`=replace(`post`, "http://", "redirect.php?to=http://")Но появляется проблема, внутренние ссылки так же станут редиректами и ссылки на которые уже наложен редирект будет наложен редирект повторно.Мне надо что бы этот запрос выполнялся только для ссылок, которые не содержат адреса моего форума и не содержат redirect.php?to= Заранее спасибо. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
-Cross- Опубликовано 19 Февраля 2008 Автор Жалоба Поделиться Опубликовано 19 Февраля 2008 Ап Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Kvendi Опубликовано 19 Февраля 2008 Жалоба Поделиться Опубликовано 19 Февраля 2008 update ibf_posts set post=replace(post,'старое','новое') where instr(post,'исключение')=0; Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
-Cross- Опубликовано 19 Февраля 2008 Автор Жалоба Поделиться Опубликовано 19 Февраля 2008 Помогло, огромное спасибо, тема больше не актуальна. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Song Опубликовано 21 Февраля 2008 Жалоба Поделиться Опубликовано 21 Февраля 2008 Квенди По твоему решению если в одном посте будут и те и другие, то заменятся обе. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.