Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Подскажите SQL запрос
цитата
11/06/22 в 22:05
 Черный Корсар
Дано: БД для вордпресса, в таблице с постами колонка post_title. Требуется к части этих тайтлов в конец дописать слово.
Сами тайтлы 2-х типов


Крио
doL8e4vMC5Bp9OimSijYDVJOhFS.jpg
Начальница
zeaGzDvDY0DYmGeSLN6tA4JTrxO.jpg
Расследования Авроры Тигарден: Дом с привидением
76U8bHFPFXgfsdqLNOuNOzTk5tA.jpg
Красотка на нерва


Тайтлы идут вперемешку.

https://prnt.sc/GpaSwePRnMXt

Каким запросом в БД возможно дописать в конец адекватных тайтлов (которые НЕ .jpg\png\etc...) одно слово?

Руками не вариант, записей овер 9к

Верю в силу мастера! smail54.gif
цитата
12/06/22 в 15:28
 S_Flash
Трудно понять, что именно надо, но из того, что я понял, вот код который дописывае some_word к к колонке column_name таблицы table_name, к тем строкам, которые не содержат ".jpg", ".png", ".gif" в тексте..

Код:

UPDATE table_name
SET column_name = CONCAT(column_name, ' some_word')
WHERE column_name NOT LIKE '%.jpg%'
      AND column_name NOT LIKE '%.png%'
      AND column_name NOT LIKE '%.gif%';
цитата
12/06/22 в 17:03
 Черный Корсар
S_Flash писал:
Трудно понять, что именно надо, но из того, что я понял

Есть строки

Крио
doL8e4vMC5Bp9OimSijYDVJOhFS.jpg
Начальница
zeaGzDvDY0DYmGeSLN6tA4JTrxO.jpg
Расследования Авроры Тигарден: Дом с привидением
76U8bHFPFXgfsdqLNOuNOzTk5tA.jpg
Красотка на нерва

Из них надо сделать так

Крио (2022)
doL8e4vMC5Bp9OimSijYDVJOhFS.jpg
Начальница (2022)
zeaGzDvDY0DYmGeSLN6tA4JTrxO.jpg
Расследования Авроры Тигарден: Дом с привидением (2022)
76U8bHFPFXgfsdqLNOuNOzTk5tA.jpg
Красотка на нерва (2022)

Т.е. просто дописать "(2022)" к тайтлам, которые не .jpg\png\etc...
цитата
12/06/22 в 17:06
 Черный Корсар
S_Flash писал:

Код:

UPDATE table_name
SET column_name = CONCAT(column_name, ' some_word')
WHERE column_name NOT LIKE '%.jpg%'
      AND column_name NOT LIKE '%.png%'
      AND column_name NOT LIKE '%.gif%';

Не сработало (

Цитата:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'FROM wp_posts WHERE post_title NOT LIKE '%.jpg%' AND post_title NOT LIKE '%' at line 2
цитата
12/06/22 в 21:03
 xjam
Черный Корсар писал:
Не сработало (


В ероре, что ты написал есть FROM wp_posts, однако в запросе, который тебе дали фром не было вообще.

С нуля напиши еще раз так имхо.


Код:


UPDATE wp_posts
SET post_title= CONCAT(post_title, ' some_word')
WHERE post_title NOT LIKE '%.jpg%'
      AND post_title NOT LIKE '%.png%'
      AND post_title NOT LIKE '%.gif%';





some_word замени на нужное.

А правильнее всего будет, дописать в код вордпресс пре_хук фильтр, который добавить, что бы не каверкать базу.
цитата
12/06/22 в 21:40
 Черный Корсар
xjam писал:
В ероре, что ты написал есть FROM wp_posts, однако в запросе, который тебе дали фром не было вообще.


Получил ту же самую ошибку. https://prnt.sc/oY7fnB33fCCu

xjam писал:
А правильнее всего будет, дописать в код вордпресс пре_хук фильтр, который добавить, что бы не каверкать базу.


Пофиксить базу это единственное, что на ум пришло. Есть какие то другие варианты дописать тайтлы в постах? Вариант прописать жестко в темплейте - не вариант к сожалению (
цитата
13/06/22 в 07:12
 xjam
Черный Корсар писал:
Получил ту же самую ошибку.


Что-то не то у тебя в клиенте или ты добаляешь еще что-то в запрос.

Я phpmyadmin лет 10 в глаза не видет конечно, но там написанно иммитировать запрос, а вроде надо выполнять запрос в другом месте.

Попробуй залить админер возможно удасться выполнить так запрос.
Там прям надо выбрать базу, и нажать на SQL command для запроса прямо в базу.
цитата
13/06/22 в 07:39
 xjam
Если ты просто хочешь посмотреть как будут выглядеть данные, до того как сделать апдейт данных в базе,
напиши такой запрос

Код:


SELECT CONCAT(post_title, ' some_word'), * FROM wp_posts WHERE post_title NOT LIKE '%.jpg%' AND post_title NOT LIKE '%.png%'  AND post_title NOT LIKE '%.gif%';

цитата
13/06/22 в 10:21
 Черный Корсар
xjam писал:
Я phpmyadmin лет 10 в глаза не видет конечно, но там написанно иммитировать запрос, а вроде надо выполнять запрос в другом месте.

Точно, если не эмитировать запрос, а сразу выполнить, то код


UPDATE wp_posts
SET post_title= CONCAT(post_title, ' some_word')
WHERE post_title NOT LIKE '%.jpg%'
      AND post_title NOT LIKE '%.png%'
      AND post_title NOT LIKE '%.gif%';

Сработал.
Спасибо всем! smail54.gif
цитата
15/06/22 в 11:50
 Bongo
Увидел тему и появилась одна мыслишка... подскажите знающие люди, а как можно типа как в экселе отредактировать колонки- надо содержимое одной колонки заменить на другое, на скрине, к примеру, выделил колонку с цифрами, надо ее заполнить другим содержимым


Эта страница в полной версии