2011-04-13 91 views

回答

5

您可以查看MediaWiki的database layout。该页面的内容位于表text(PostgreSQL上这似乎是pagecontent

+0

感谢@halfdan,你知道为什么是字段的名称是OLD_TEXT,则意味着它是不是当前的文本? – jojo 2011-04-13 17:17:49

+0

从文档'字段名称是从MediaWiki 1.4及更早版本的'旧'修订表中保留的。' – halfdan 2011-04-13 18:20:58

0

使用这种关系恢复页: page.page_latest = revision.rev_id - > revision.rev_text_id = text.old_id - >文本。 old_text Ref:http://www.mediawiki.org/wiki/Manual:Page_table

+0

请解释如何以更详细的方式回答问题。它如何回答这个问题尚不清楚。 – rfornal 2015-01-09 13:51:17

1

我最近有一个mediawiki安装出错,我需要直接从数据库检索页面内容。下面是我可以用来检索页面内容的MYSQL语句。

SELECT `old_text` 
FROM `mw_text` 
WHERE `old_id` 
IN (

    SELECT `rev_text_id` 
    FROM `mw_revision` 
    LEFT JOIN `mw_page` ON `page_latest` = `rev_id` 
    WHERE `page_title` LIKE (
     '%title_of_the_page%' 
    ) 
) 

注:我的表前缀是mw_你可能会有所不同