從節點表中刪除行
回答
首先:在管理頁面上,轉到性能,然後單擊清除所有緩存按鈕。如果它不能解決您的問題,請嘗試禁用每個contrib,並查看問題是否仍然存在。如果不是,請嘗試一個一個地啓用它們,並且您將知道哪個貢獻造成了問題。將其報告給模塊的問題隊列。
如果禁用模塊無法解決您的問題,請下載drush
。嘗試使用node_delete
直接刪除節點。例如(如果錯誤的節點的NID 3):
drush php-eval 'node_delete(3);'
如果你不熟悉命令行,你可以做同樣的這個小PHP文件(把它放到Drupal的根目錄):
include './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
node_delete(3);
如果不起作用,請從數據庫進行備份,從節點表中刪除該節點,並遍歷每個與節點相關的表(其中包含一個nid列),然後刪除相關條目。
這可能不是你的問題,但:
你不想直接從數據庫中刪除行。事後你無法知道數據庫的形狀。節點ID存在於許多表中,節點通過多個表分佈。
瀏覽nodeapi並使用Drupal框架,因爲這就是它的意思!節點api將正確處理您的數據庫模式。
參見: http://api.drupal.org/api/function/node_delete/6
所以,如果你知道了某個節點ID,您可以撥打node_delete。
請注意(取決於您的Drupal權限),您可能需要以具有刪除節點權限的用戶身份進行操作 - 例如用戶1而不是默認匿名用戶。您可以通過預先附加您的通話node_delete()
以做到這一點,
global $user;
$user = user_load(1);
您也可能會遇到超時,如果刪除多個節點,並通過瀏覽器調用PHP文件。一個解決方法是通過命令行調用PHP文件(如果您有shell訪問權限)。例如,
php -f custom-script.php
同樣,如果要刪除許多節點,你還可以運行內存不足。增加PHP內存限制你的腳本調用這個樣子,
php -f custom-script.php -d memory_limit=512M
這工作對我有Drupal 6.注意測試,你也能夠通過在custom-script.php
設置明確的超時時間來解決服務器超時問題。
- 1. 如何從鏈表中刪除節點?
- 2. 從跳過列表中刪除節點
- 3. 從鏈接列表中刪除節點
- 4. C++從列表中部刪除節點
- 5. 從列表中刪除一個節點
- 6. 從鏈接列表中刪除節點
- 7. C從鏈表中刪除節點
- 8. 如何從鏈表中刪除節點?
- 9. 從鏈接列表中刪除節點
- 10. 如何從鏈表中刪除節點?
- 11. 從鏈表中刪除節點
- 12. 如何從鏈表中刪除節點?
- 13. 從鏈接列表中刪除節點
- 14. 從鏈接列表中刪除節點
- 15. C++從列表中間刪除節點
- 16. 從雙向鏈表中刪除節點?
- 17. 從單向鏈表中刪除節點
- 18. 從simpleXML中刪除節點
- 19. 從DOM中刪除節點
- 20. 從XML中刪除節點
- 21. 從RABL中刪除節點
- 22. 從xmlDoc中刪除節點,如何刪除父節點?
- 23. Drupal從節點刪除節點引用
- 24. 從鏈表開始刪除節點
- 25. 刪除節點從的XDocument
- 26. 從Node-red刪除節點
- 27. 從Neo4j刪除300k +節點
- 28. java刪除節點鏈表
- 29. 雙鏈表:刪除節點
- 30. 從元素節點中刪除文本節點但不從屬性節點中刪除類型
無論權限如何,node_delete()都會刪除該節點。請考慮鼓勵OP不要使用原始SQL查詢來刪除它們。由於孤兒節點,很多事情將來會被打破。 – 2012-10-26 19:06:57