0
我有一個選擇查詢來檢查重複項。使用連接語句的查詢刪除行
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
這將返回2458條記錄與計數(meta_value)大於1--我需要刪除這些記錄(留下記錄,如果有可能的一個副本),但每次我嘗試這樣刪除查詢我得到一個錯誤
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)
誤差
您的SQL語法錯誤;檢查對應於你的MySQL服務器版本使用附近的正確語法手冊「中選擇DUPLICATE.entity_id(SELECT DISTINCT(pm.meta_key =」 _ SKU「)的SKU,伯爵」在1號線
Err] 1093 - 您無法在FROM子句中指定目標表'p'進行更新 – ForgivenIT
我認爲您現在有一個相當直接的錯誤。會建議你嘗試使用不同的別名(你使用了兩次「p」)。此外,這似乎可能是重複的https://stackoverflow.com/questions/45494/mysql-error-1093-cant-specify-target-table-for-update-in-from-clause,所以它可能會幫助你出 –
我知道如何刪除在哪裏,而不是在(我不能去工作是刪除重複...沒有嘗試密集,但我失去了一些東西 – ForgivenIT