我想找到TYPO3安装中的所有tt_content元素,这些元素没有与页面的连接。你会怎么做?
答案 0 :(得分:2)
每个tt_content
记录都通过pid
字段与页面建立连接,相反情况的唯一原因是手动操作tt_content
记录(即通过某些外部脚本创建它们甚至添加使用phpMyAdmin进行DB。
对于通过TYPO3的后端(以及任何其他类型的记录)删除的页面中的永久删除内容,您可以使用Recycler
扩展名 - 它是系统1,所以只需转到Extension Manager并启用它。然后选择树中的最高页面,选择深度无限,您将按类型找到所有软删除的记录,在Recycler中删除它们将完全从DB中删除它们。
如果由于某种原因你有这样的情况,根本不存在给定uid的pages
记录,虽然tt_content使用它的pid,但Recycler不会找到它。这些只能通过SQL查询找到:
SELECT tt_content.uid, tt_content.pid, pages.uid page_uid
FROM tt_content LEFT JOIN pages ON (tt_content.pid=pages.uid)
WHERE pages.uid IS NULL
免责声明:应尽可能避免手动操作数据库操作。 TYPO3的后端能够很好地维护已删除的记录,并首先尝试内置工具。我没有回复因手动更改DB而造成的任何损坏,为了您自己的安全,在删除/修改任何记录之前进行数据库备份。