J'ai une requête de sélection qui vérifie les doublons.Supprimer la ligne avec la requête qui utilise l'instruction de jointure
select ID, post_id, post_name, post_date, Count(meta_value) FROM wp_yepf_posts p join wp_yepf_postmeta pm on p.ID = pm.post_id WHERE p.post_type = 'product' and pm.meta_key='_sku' group by meta_value having count(meta_value)>1
ce retourne 2458 enregistrements avec comptage (meta_value) supérieure à 1-- je dois supprimer ces enregistrements (en laissant une copie du dossier si possible), mais à chaque fois que je tente une requête de suppression comme cela, je reçois une erreur
delete p
FROM wp_yepf_posts p
join wp_yepf_postmeta pm on p.ID = pm.post_id (select DUPLICATE.entity_id in (Select DISTINCT(pm.meta_key='_sku') as sku, Count(pm.meta_key='_sku') as skuCount, entity_id
from wp_yepf_posts p join wp_yepf_postmeta pm on p.ID = pm.post_id
group by sku Having skucount>1) as dup)
erreur est
Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser à proximité 'select DUPLICATE.entity_id dans (Sélectionner DISTINCT (pm.meta_key =' _ sku ') comme sku, Count' à la ligne 1
Err] 1093 - Vous ne pouvez pas spécifier la table cible 'p' pour la mise à jour dans la clause FROM – ForgivenIT
Je pense que vous avez maintenant une erreur assez directe. vous suggérerait d'essayer d'utiliser différents alias (vous avez utilisé "p" deux fois). aussi, cela semble être un duplicata de https://stackoverflow.com/questions/45494/mysql-error-1093-cant-specify-target-table-for-update-in-from-clause afin que cela puisse vous aider sur –
je sais comment supprimer où et pas dedans (ce que je ne peux pas obtenir au travail est supprimer des copies ... n'essayant pas d'être dense mais je manque quelque chose quelque part – ForgivenIT