Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » MySQL » Как создать запрос на массовое копирование из title в доп. поле?

Как создать запрос на массовое копирование из title в доп. поле?


     07.03.2018    MySQL    Все вопросы » MySQL    1661

вопрос
Приветствую всех. Помогите составить запрос, на копирование из таблицы - dle_post, столбца - title, в столбец - xfields (столбец не пустой, вставка в самый конец нужна). Простыми словами нужно название новости скопировать в дополнительное поле "title_novosti", во всех статьях на сайте.

Ответил: Sander


1. Делаем бекап БД.

2. Выполнить запрос:
SELECT id, xfields FROM dle_post WHERE xfields = '';

Если вернет 0 строк - отлично, идем дальше.
Иначе для найденных новостей нужно временно добавить хоть какое-нибудь поле. (Мне просто лень составлять запрос с условиями).

3. Выполнить запрос:
UPDATE dle_post SET xfields = concat(xfields, '||', 'title_novosti', '|', REPLACE(title, "|", "|"));

Радуемся.

4 комментария

Chez
Юзер

Chez - 7 марта 2018 12:19 -

SANDER, спасибо, запрос сработал. Единственное что в доп поле прописалось два раза название, т.е. - ||title_novosti|Название_новости||title_novosti|Название_новости

Sander
PHP-developer

Sander - 7 марта 2018 12:42 -

Значит запрос был выполнен 2 раза. Загружайте бекап и выполняйте запрос повторно, только один раз.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

Chez
Юзер

Chez - 7 марта 2018 13:13 -

Sander,
Да, действительно. откатил базу, сделал запрос снова - все получилось как нужно.

Единственное, может еще поможете с одним моментом..Из тайтла берется название новости с таким параметром -

Мод "Название_мода" для GTA5

Можно ли подправить запрос на копирование таким образом, что бы скопировалось в доп. поле только "Название_мода", без приписок в начале "Мод" и "для GTA5". Буду очень признателен за помощь в очередной раз)

Paul987
Юзер

Paul987 - 15 апреля 2020 21:21 -

Помогите пожалуйста, задача стоит почти такая же, но нужно найти в full_story слово и значение после него, и это значение скопировать в xfields со вставкой вконце+название поля. Чую не осилю я методом проб и ошибок.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх