Identify mass uploads of the same file in WordPress Blog
Been hit by the WPML – WP 4.0 bug (Mostly caused by Media translation) and stuck with MANY corrupted uploads in your database? And having massive amounts of duplicate images?
Note: this assumes you have the wp_ DB table prefix
This will identify file uploads with the same filename, having over 300 uploads in the same second
Warning: Make a database backup first!
Query to identify the uploads:
Code: SELECT * FROM `wp_posts` WHERE ID IN (SELECT ID FROM (SELECT post_title, post_modified, count(post_title) AS ttlcount FROM `wp_posts` WHERE `post_type` = 'attachment' AND post_name LIKE('%-2-%') group by post_title, post_modified HAVING ttlcount > 300) AS SUB1 ) AND post_modified IN (SELECT post_modified FROM (SELECT post_title, post_modified, count(post_title) AS ttlcount FROM `wp_posts` WHERE `post_type` = 'attachment' AND post_name LIKE('%-2-%') group by post_title, post_modified HAVING ttlcount > 300) AS SUB2 )
AND `post_type` = 'attachment' AND post_name LIKE('%-2-%')
Query to mark the uploads as deleted
Note: They will not be auto-deleted as that also needs an insert into the postmeta table. They are kept and there for you to restore.
Code: UPDATE wp_posts SET post_status = 'trash', post_type = 'attachment_trash' WHERE ID IN (SELECT ID FROM (SELECT post_title, post_modified, count(post_title) AS ttlcount FROM `wp_posts` WHERE `post_type` = 'attachment' AND post_name LIKE('%-2-%') group by post_title, post_modified HAVING ttlcount > 300) AS SUB1 ) AND post_modified IN (SELECT post_modified FROM (SELECT post_title, post_modified, count(post_title) AS ttlcount FROM `wp_posts` WHERE `post_type` = 'attachment' AND post_name LIKE('%-2-%') group by post_title, post_modified HAVING ttlcount > 300) AS SUB2 )
AND `post_type` = 'attachment' AND post_name LIKE('%-2-%')