Bulk deleting Drupal nodes of a particular content type
Added Sat, 04/12/2008 - 21:08
The Drupal admin interface allows you to delete up to 50 nodes at one time, which is great - but there are times when you it's just not enough and you need to bulk delete many thousands of nodes.
In this example we will delete all nodes of a particular type (page), a quick way to execute the code is to create a new node, set the input format to PHP, paste the code into the node body - add a title and click submit - don't forget to delete the node when your done!
<?php
$node_type = 'page';
//fetch the nodes we want to delete
$result = db_query("SELECT nid FROM {node} WHERE type='%s'",$node_type);
while ($row = db_fetch_object($result)){
node_delete($row->nid);
$deleted_count+=1;
}
//simple debug message so we can see what had been deleted.
drupal_set_message('$deleted_count nodes have been deleted');
?>
Bookmark/Search this post with:

Delicious
Digg
Reddit
Technorati




