Joined: 03 Aug 2007 Posts: 412 Location: A'dam/Diemen, The Netherlands
Posted: Sun Sep 14, 2014 9:37 am Post subject: Identify mass uploads of the same file in WordPress
Been hit by the WPML - WP 4.0 bug and stuck with MANY corrupted uploads in your database?
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-%')
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum