Я пытаюсь обновить таблицу базы данных Wordpress под названием "dogs_postmeta".Ниже приведен мой запрос, который идеально подходит для отображения всех соответствующих данных.
select meta_value as field_i_want_to_change, i.url as data
from dogs_postmeta
inner join (select a.post_id, CONCAT('https://mydomain/wp-content/uploads/', b.meta_value) as url
from
dogs_postmeta a, dogs_postmeta b
where
a.meta_key = '_thumbnail_id' and
b.post_id = a.meta_value and
b.meta_key = '_wp_attached_file'
) i
on i.post_id = dogs_postmeta.post_id
where
dogs_postmeta.meta_key = "_seopress_pro_rich_snippets_article_img"
limit 100;
Я хочу обновить существующее поле - meta_value с указанным выше свойством data.Я был в этом в течение нескольких часов без успеха.
Вот что я попробовал.
update dogs_postmeta
set dogs_postmeta.meta_value = i.url
from (select a.post_id, CONCAT('https://mydomain/wp-content/uploads/', b.meta_value) as url
from
dogs_postmeta a, dogs_postmeta b
where
a.meta_key = '_thumbnail_id' and
b.post_id = a.meta_value and
b.meta_key = '_wp_attached_file'
) i
inner join dogs_postmeta on dogs_postmeta.post_id = i.post_id
where
dogs_postmeta.meta_key = "_seopress_pro_rich_snippets_article_img";
Я получаю это сообщение об ошибке -
Ошибка в запросе (1064): синтаксическая ошибка рядом с 'from (выберите a.post_id, CONCAT (' https://mydomain/wp-content/uploads/', b.meta_va 'в строке 3
... но яуверен, что это не проблема.
Может ли кто-нибудь помочь мне решить эту проблему?