从节点表中删除行
回答
首先:在管理页面上,转到性能,然后单击清除所有缓存按钮。如果它不能解决您的问题,请尝试禁用每个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