It turns out that Magento has some really convenient functions already made at its core, which i don’t know about and this is one of them. Mage category model object includes move() function, that manages just that. Lets view simple code example for better understanding.
$categoryId = 2269; $parentId = 2268; $category = Mage::getModel('catalog/category')->load($categoryId); $category->move($parentId, null);
When this is executed your category should have a different path, if changes are not visible than try to clean cache and reindex data. After you have done that everything should be ok.