X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Как в MySQL поменять кусок текста массово?, Всего 2000 новостей в которых надо изменить
mr_LasVegas
mr_LasVegas
Topic Starter сообщение 28.4.2015, 10:58; Ответить: mr_LasVegas
Сообщение #1


UX/UI Designer
*****

Группа: Active User
Сообщений: 749
Регистрация: 9.4.2010
Из: Moscow
Поблагодарили: 291 раз
Репутация:   67  


Здравствуйте. Собственно вот в чем дело. Сайт на движке DLE и есть доп.поля в которых есть ссылки. Ссылка вида http://site.ru/step_1/file.zip
Всего около 2000 новостей, в которых надо поменять эти ссылки таким образом:
поменять только во эту часть http://site.ru/step_1/, то есть концовка, а именно имя файла должна остаться.
Как это сделать через MySQL.
П.С. в интернете нашел способ через
UPDATE таблица SET поле = REPLACE(поле, "строка для замены", "чем заменяем");
но мне надо прямо по шагам как это сделать. Кому не сложно, добрые люди, помогите пожалуйста.


--------------------
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ElSaruman
ElSaruman
сообщение 28.4.2015, 11:01; Ответить: ElSaruman
Сообщение #2


Новичок
*

Группа: User
Сообщений: 31
Регистрация: 27.4.2015
Из: Воронеж
Поблагодарили: 5 раз
Репутация:   0  


Цитата(mr_LasVegas @ 28.4.2015, 10:58) *
мне надо прямо по шагам как это сделать

По шагам, как сделать это в PhpMyAdmin? Или написать скрипт для обращения к бд? В первом случае суть времени - пара минут на выполнение замены.

P.S.: бекап не забудьте
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mr_LasVegas
mr_LasVegas
Topic Starter сообщение 28.4.2015, 11:09; Ответить: mr_LasVegas
Сообщение #3


UX/UI Designer
*****

Группа: Active User
Сообщений: 749
Регистрация: 9.4.2010
Из: Moscow
Поблагодарили: 291 раз
Репутация:   67  


ElSaruman, ну по шагам в phpMyAdmin думаю. Просто ни разу такое не делал и боюсь закосячить.
А скрипт как поможет?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 28.4.2015, 11:19; Ответить: x64
Сообщение #4


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3544
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2881 раз
Репутация:   294  


Цитата(mr_LasVegas @ 28.4.2015, 9:58) *
но мне надо прямо по шагам

Да куда уж шаговистее-то?
Сами же написали: есть таблица, в ней доп-поля, в которых требуется кое-что поменять.
Вуаля:
Цитата(mr_LasVegas @ 28.4.2015, 9:58) *
UPDATE таблица SET поле = REPLACE(поле, "строка для замены", "чем заменяем");

Строка для замены известна — http://site.ru/step_1/

Цитата(mr_LasVegas @ 28.4.2015, 10:09) *
ну по шагам в phpMyAdmin думаю

Зайти в него и выбрать базу данных, которую использует движок. После останется лишь запрос (SQL) выполнить.

Цитата(mr_LasVegas @ 28.4.2015, 10:09) *
боюсь закосячить

Для этого предварительно делается бекап.


--------------------


Поблагодарили: (2)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mr_LasVegas
mr_LasVegas
Topic Starter сообщение 28.4.2015, 11:24; Ответить: mr_LasVegas
Сообщение #5


UX/UI Designer
*****

Группа: Active User
Сообщений: 749
Регистрация: 9.4.2010
Из: Moscow
Поблагодарили: 291 раз
Репутация:   67  


x64, У меня просто несколько доп. полей и из-за этого в mysql выглядит вот так:

load|http://site/step_1/file.zip||type|.zip||size|200,0 МБ||Form|архив

Как тогда писать запрос, если мне надо только часть из этого изменить? а именно http://site/step_1

Или от этого ничего не меняется? Все равно сделать такой же запрос и все?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ElSaruman
ElSaruman
сообщение 28.4.2015, 11:33; Ответить: ElSaruman
Сообщение #6


Новичок
*

Группа: User
Сообщений: 31
Регистрация: 27.4.2015
Из: Воронеж
Поблагодарили: 5 раз
Репутация:   0  


Цитата(mr_LasVegas @ 28.4.2015, 11:09) *
по шагам в phpMyAdmin

1. Авторизуетеь в PhpMyAdmin
2. Слева в списке находите вашу базу, в которой хранятся таблицы DLE. Кликаете по ней.
3. В открывшемся списке находите таблицу с новостями и кликаете по ней (потом удобно будет вставлять и видеть названия полей). Обычно это vashprefix_post (vashprefix - префикс таблиц DLE)
4. Открываете вверху вкладку SQL и в большом окне слева вписываете

UPDATE таблица SET поле = REPLACE(поле, "строка для замены", "чем заменяем");

где таблица меняете на название таблицы с новостями, например vashprefix_post
поле - на поле таблицы для замены, например full_story

Получится что-то вроде:

UPDATE `vashprefix_post` SET `full_story` = REPLACE(`full_story`, `http://site.ru/step_1/`, ``); // (если я правильно понял - надо оставить только file.zip? Т.е. меняем ссылку в поле на ничто)

Иногда косяки с кавычками в админе бывают - копипасте те, которые предлагает скрипт.

!!!БЭКАП ПЕРЕД ОПЕРАЦИЕЙ!!!
dumper лучше, но можно и в пхпмайадмине




Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 28.4.2015, 12:12; Ответить: x64
Сообщение #7


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3544
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2881 раз
Репутация:   294  


mr_LasVegas, так MySQL поле-то всего одно. Его и менять.
Движок базы данных не знает (и не должен) о том, какое поле каким образом используется.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
saddon
saddon
сообщение 28.4.2015, 13:36; Ответить: saddon
Сообщение #8


Новичок
*

Группа: User
Сообщений: 33
Регистрация: 18.9.2014
Поблагодарили: 6 раз
Репутация:   1  


Можно экспортировать базу данных в файл SQL, открыть его notepad++ и в нем функцией "заменить все" заменить данные
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
mr_LasVegas
mr_LasVegas
Topic Starter сообщение 28.4.2015, 14:17; Ответить: mr_LasVegas
Сообщение #9


UX/UI Designer
*****

Группа: Active User
Сообщений: 749
Регистрация: 9.4.2010
Из: Moscow
Поблагодарили: 291 раз
Репутация:   67  


В общем, составил запрос, все как выше написано. Нажимаю ОК, выдает ошибку "Ошибка: несоответствие токена" и все. Может кто-то знает в чем дело?


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 28.4.2015, 14:22; Ответить: x64
Сообщение #10


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3544
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2881 раз
Репутация:   294  


saddon, лёгких путей не ищем? :D

mr_LasVegas, где это пишет? Ошибка явно не базовская. Если phpMyAdmin, авторизоваться ещё раз, выбрать соответствующую базу, нажать вкладку SQL и выполнить запрос.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Как заставить Google любить тебя?
Хочу роста трафа из Гугла : ))
100 Aslan88 24536 Сегодня, 2:38
автор: EconDude
Горячая тема (нет новых ответов) Как заработать новичку?
141 Emeralda 25587 Вчера, 12:43
автор: Emtec
Открытая тема (нет новых ответов) Как организовать индексацию защищенных pdf с ключами и ссылками
И разместить pdf на внешних жирных ресурсах
0 kirch 419 20.5.2018, 23:37
автор: kirch
Открытая тема (нет новых ответов) [Книга] Налог на глупость: Как я заработал в интернете 5,5 млн рублей.
7 kotovsky 2129 20.5.2018, 8:30
автор: kolor73
Открытая тема (нет новых ответов) Король социалок 7: Генератор видео и 5 способов как на нём заработать
0 Volgar 421 19.5.2018, 17:09
автор: Volgar


 



RSS Текстовая версия Сейчас: 22.5.2018, 9:12
Дизайн