Open main menu

Manual:category table


Other languages:
English • ‎polski • ‎中文 • ‎日本語
Manual:Contents MediaWiki database layout category table


MediaWiki version: 1.13

The category table tracks all existing categories. Something is a category if

  1. it has an entry somewhere in categorylinks, or
  2. it once did (task T28411).

Categories might not have corresponding pages, so they need to be tracked separately. cat_pages, cat_subcats, and cat_files are signed to make underflow more obvious.

The pages and sub-categories are stored in the categorylinks table.
Information regarding which categories are hidden is stored in the page_props table.
The number fields are signed to make underflow more obvious. We make the first number include the second two for better sorting: subtracting for display is easy, adding for ordering is not.
If the information in this table is incorrect, run the maintenance scripts populateCategory.php and/or cleanupEmptyCategories.php , if necessary with the --force option.

FieldsEdit

cat_idEdit

Primary key

cat_titleEdit

Name of the category, in the same form as page.page_title (with underscores). If there is a category page corresponding to this category, by definition, it has this name (in the Category namespace).

cat_pagesEdit

Number of pages in the category. This number includes the number of subcategories and the number of files.

cat_subcatsEdit

Number of sub-categories in the category.

cat_filesEdit

Number of files (i.e. Image: namespace members) in the category.

cat_hiddenEdit

MediaWiki version: 1.19

Was reserved for future use; apparently no one found a use for it because it was removed in v1.20. Instead, the status of hidden categories is stored in the page props table as the property "hiddencat" in pp_propname.

Schema summaryEdit

MediaWiki version: 1.20

DESCRIBE category;

+-------------+------------------+------+-----+---------+----------------+
| Field       | Type             | Null | Key | Default | Extra          |
+-------------+------------------+------+-----+---------+----------------+
| cat_id      | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| cat_title   | varbinary(255)   | NO   | UNI | NULL    |                |
| cat_pages   | int(11)          | NO   | MUL | 0       |                |
| cat_subcats | int(11)          | NO   |     | 0       |                |
| cat_files   | int(11)          | NO   |     | 0       |                |
+-------------+------------------+------+-----+---------+----------------+
MediaWiki versions: 1.13 – 1.19

DESCRIBE category;

+-------------+---------------------+------+-----+---------+----------------+
| Field       | Type                | Null | Key | Default | Extra          |
+-------------+---------------------+------+-----+---------+----------------+
| cat_id      | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
| cat_title   | varbinary(255)      | NO   | UNI | NULL    |                |
| cat_pages   | int(11)             | NO   | MUL | 0       |                |
| cat_subcats | int(11)             | NO   |     | 0       |                |
| cat_files   | int(11)             | NO   |     | 0       |                |
| cat_hidden  | tinyint(3) unsigned | NO   |     | 0       |                |
+-------------+---------------------+------+-----+---------+----------------+