J'essaie de mettre à jour le champ post-statut de tous les 'nouveaux' enregistrements où le doublet post_title peut être trouvé pour 'brouillon'. La requête de sélection suivante fonctionne comme prévu et montre les enregistrements que je veux mettre à jour -MySQL (Wordpress) - jointure interne lors de la mise à jour
select a.* FROM wp_posts AS a INNER JOIN (SELECT Greater1.post_title, Titles.ID,
Greater1.MinID FROM (SELECT post_title, MIN(ID) AS 'MinID', MAX(ID) AS 'MaxID' FROM
wp_posts WHERE post_type = 'post' AND post_status = 'publish' GROUP BY post_title
HAVING COUNT(post_title)>1) AS Greater1 LEFT JOIN (SELECT post_title, ID FROM
wp_posts) AS Titles ON Greater1.post_title = Titles.post_title WHERE ID > MinID) AS
b ON a.ID = b.ID WHERE a.ID = b.ID
Mais la requête de mise à jour suivante donne erreur de syntaxe. De l'aide?
update a.wp_posts set a.post_status='draft' FROM wp_posts AS a INNER JOIN (SELECT
Greater1.post_title, Titles.ID, Greater1.MinID FROM (SELECT post_title, MIN(ID) AS
'MinID', MAX(ID) AS 'MaxID' FROM wp_posts WHERE post_type = 'post' AND post_status =
'publish' GROUP BY post_title HAVING COUNT(post_title)>1) AS Greater1 LEFT JOIN
(SELECT post_title, ID FROM wp_posts) AS Titles ON Greater1.post_title =
Titles.post_title WHERE ID > MinID) AS b ON a.ID = b.ID WHERE a.ID = b.ID
Merci beaucoup.
peut-être ce sont ces citations autour de MinID et MaxID vous devriez vous débarrasser de – Horen
Quelle est l'erreur que vous obtenez de mysql? – Horen