Estoy intentando actualizar los avatares de mi WordPress. tengo una mesa wp_commentmeta
que tiene algo roto meta_value
s.
Necesito recalcular los valores basados en el wp_comment
mesas comment_author_email
.
Esta consulta me da una tabla con el ID de comentario y la nueva URL
SELECT
comment_id,
CONCAT("https://www.gravatar.com/avatar/", MD5(comment_author_email)) AS url
FROM `wp_comments`
WHERE comment_id IN
(SELECT
comment_id FROM `wp_commentmeta`
WHERE `meta_key` LIKE 'avatar'
AND `meta_value` LIKE 'invalid')
| comment_id | url |
|------------|---------------------------------------|
| 1234 | https://www.gravatar.com/avatar/ff... |
| 5678 | https://www.gravatar.com/avatar/ab... |
| .... | ... |
pero como actualizo wp_commentmeta
¿basado en eso?
I pensar Quiero recorrer los resultados y ejecutar:
UPDATE `wp_commentmeta`
SET `meta_value` = url
WHERE `comment_id` = comment_id
AND `meta_key` LIKE 'avatar'
AND `meta_value` LIKE 'invalid'
Pero, ¿cómo hago eso en una sola consulta? ¿Es esto algo donde puedo usar un JOIN
?
.