2016-06-09 2 views
1

Я работаю на WordPress сайта, где мне нужно изменить путь загрузки для всех изображений вложений (я не имею ни малейшего понятия, почему клиент изначально выбранный не иметь их организовали.)Редактирование столбца в Дата SQL Query

Этих это то, что я запускаю, чтобы выбирать свои вложения, и хвататься за то, что дата публикации родительских записей была так, что я могу правильно захватить только то, что хочу.

select a.id as child_post_id, a.guid as upload_path, b.post_date as parent_post_date 
from wp_posts a 
left outer join wp_posts b 
on a.post_parent = b.id 
where 
a.post_type = 'attachment' 
and b.post_date between '2015-11-17 00:00:00' and '2015-11-17 23:59:59' 

Что подтягивает 8 или около вложения изображения Я ищу в этом промежутке как испытание, и они соединены с родительскими сообщениями идентификатора сообщения, так что я знаю, что я получаю то, что я хочу.

Теперь я хочу, чтобы заменить часть значения в столбце Guid, поэтому я делаю замену в выводимого колонке «upload_path»

update upload_path 
set upload_path = replace(upload_path, 'wp-content/uploads/', 'wp-content/uploads/2015/11/') 
; 

Это вызовет сбой синтаксиса и я чувствую как будто я вытаскиваю странного мануэра, поэтому поиск ответа был трудным.

Я не супер опытный, углубляющийся в SQL, но я пытаюсь учиться.

Нужно ли сохранять этот запрос, а затем запускать обновление по этому сохраненному запросу?

Это, вероятно, легкое решение, может кто-то, пожалуйста, помогите мне, просто укажите мне в правильном направлении, пожалуйста.

Запуск MySQL 5.1.73 (мы должны работать, что производственный сервер работает)

ответ

-1

Так получается, что я пытался запустить обновление в пределах оператора выбора. Который не-идет.

Мне пришлось запустить инструкцию обновления, а затем определить внутреннее соединение и объявить каждое «где» в качестве ограничителя внутри этой команды. используя синтаксис «и».

UPDATE wp_posts AS a 
INNER JOIN wp_posts AS b ON a.post_parent = b.id 
and a.post_type = 'attachment' 
and b.post_date between '2015-11-17 00:00:00' and '2015-11-17 23:59:59' 
set a.guid = replace(a.guid, 'wp-content/uploads/', 'wp-content/uploads/2015/11/') 
limit 0,30 
; 

Замечательный опыт обучения. Спасибо всем, что посмотрело.

+0

BTW один нижний план от кого-то, кто разозлился, я не выбрал его неправильное решение –

Смежные вопросы