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
Сообщений: 737
Регистрация: 9.4.2010
Из: Moscow
Поблагодарили: 289 раз
Репутация:   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
Сообщений: 737
Регистрация: 9.4.2010
Из: Moscow
Поблагодарили: 289 раз
Репутация:   67  


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


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


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

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


Цитата(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
Сообщений: 737
Регистрация: 9.4.2010
Из: Moscow
Поблагодарили: 289 раз
Репутация:   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
Сообщений: 3424
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2744 раза
Репутация:   289  


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


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


Новичок
*

Группа: User
Сообщений: 31
Регистрация: 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
Сообщений: 737
Регистрация: 9.4.2010
Из: Moscow
Поблагодарили: 289 раз
Репутация:   67  


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


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


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

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


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

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


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Как действительно успешно внедрять привычки. И менять жизнь
seoandme.ru - SEO-блог Анны Ященко
11 AnnaYa 1081 Сегодня, 8:43
автор: AnnaYa
Открытая тема (нет новых ответов) Как мошенники зарабатывают на прямых трансляциях в Instagram
Не ждите порно в инстаграм, его нет
7 PostBrigada 720 Вчера, 20:35
автор: galikfor
Открытая тема (нет новых ответов) Как пройти модерацию в Яндекс Директ, тематика Майнеры криптовалюты
4 rownong27 1149 Вчера, 20:02
автор: tygrytsa
Горячая тема (нет новых ответов) Черный список обменников и как безопасно обменять валюту
140 Kurses 29727 Вчера, 16:20
автор: BestExchangers
Горячая тема (нет новых ответов) Как заработать новичку?
107 Emeralda 17774 Вчера, 14:59
автор: Smspva


 



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