До того, как вопрос помечен, закрыт или что-то еще, я пытался найти ответ на сайте, и я всегда нахожу одну часть того, что я ищу или что я пытаюсь сделать, но никогда что-то конкретное, я пытался ВЫБРАТЬ и ОБНОВИТЬ , но никогда ВЫБРАТЬ , ОБНОВИТЬ и ЗАМЕНИТЬ
Итак, моя проблема такова:
У меня есть таблица базы данных Wordpress wp_posts
и другая таблица с именем wp_postmeta
,
wp_post
есть строка с именем post_content
и wp_postmeta
есть строка с именем meta_key
, я пытаюсь SELECT , ОБНОВИТЬ и ЗАМЕНИТЬ a строка из wp_post.post_content
без изменения других записей. Чтобы не изменять другие записи, мне нужно выбрать из wp_postmeta.meta_key
записей, которые имеют meta_key
" city ".
Так что в основном, если я бегу
SELECT p.post_content FROM wp_post p
INNER JOIN wp_postmeta m ON p.id = m.post_id
WHERE p.post_content LIKE "%TEXT I NEED TO REPLACE%"
AND m.meta_key LIKE "%city%";
Это даст мне 600 записей из 5000, которые имеют тот же текст, который мне нужно заменить.
Так что, если я просто бегу
UPDATE wp_post SET post_content = REPLACE
(post_content, 'TEXT I NEED TO REPLACE', 'NEW TEXT THAT I AM REPLACING');
Это изменит 5000 записей, и я не хочу этого, мне нужно заменить 600 записей из запроса SELECT , который я выполнял ранее.
Итак, мне нужен способ объединить эти два запроса, чтобы заменить строку post_content этих 600 записей, не затрагивая остальные 4400 левых, это достижимо?
Надеюсь, моя проблема достаточно ясна. Еще раз спасибо.
(для этого я использую Sequel Pro)