How To Find Duplicate Post Meta In WordPress

To locate and compare all duplicate postmeta rows in WordPress, use phpMyAdmin to run the following query:

 

select T1.post_id, T1.meta_key,  T1.meta_value, T1.meta_id, T2.post_id, T2.meta_key, T2.meta_value, T2.meta_id
FROM wp_postmeta T1, wp_postmeta T2
WHERE T1.post_id = T2.post_id   
AND T1.meta_value = T2.meta_value
AND T1.meta_key = T2.meta_key
AND T1.meta_id > T2.meta_id

To delete duplicate rows, first create a backup of your postmeta table then run the following query:

DELETE T1 FROM wp_postmeta T1 
INNER JOIN wp_postmeta T2  
WHERE T1.post_id = T2.post_id   
AND T1.meta_value = T2.meta_value
AND T1.meta_key = T2.meta_key
AND T1.meta_id > T2.meta_id

 

Available for Amazon Prime