Manual:Pagelinks table/en

The pagelinks table tracks all internal links in the wiki. Each entry contains the source page's ID and namespace (number), and the article name (in text) and namespace (number) that is being linked to from within that source page. There may be many instances of the source page's ID, as many as the internal links within it, but there can be only one entry per internal link for any page ID (or MySQL will yell out a fatal error).

Note that the target page may or may not exist, and due to renames and deletions may refer to different page records as time goes by.

The table was introduced in version 1.5. It is the result of merging the table and the  table of version 1.4. Regenerating the pagelinks table is always possible using the maintenance script.

pl_from
The of the page containing the link.

pl_namespace
The page_namespace of the target page. The target page may or may not exist, and due to renames and deletions may refer to different page records as time goes by.

pl_title
The title of the target page in the format. The target page may or may not exist, and due to renames and deletions may refer to different page records as time goes by. Spaces are converted to underscores, and the first letter may be automatically capitalized. So for example, a link to foo bar would have a pl_title of "Foo_bar" assuming  and no $wgCapitalLinkOverrides.

pl_from_namespace
The of the page containing the link.

Schema summary
+---+-+--+-+-+---+ +---+-+--+-+-+---+ +---+-+--+-+-+---+
 * Field            | Type                | Null | Key | Default | Extra |
 * pl_from          | int(10) unsigned    | NO   | PRI | 0       |       |
 * pl_namespace     | int(11)             | NO   | PRI | 0       |       |
 * pl_title         | varbinary(255)      | NO   | PRI |         |       |
 * pl_from_namespace | int(11)            | NO   | MUL | 0       |       |
 * pl_target_id     | bigint(20) unsigned | YES  | MUL | NULL    |       |

+---+--+--+-+-+---+ +---+--+--+-+-+---+ +---+--+--+-+-+---+
 * Field            | Type             | Null | Key | Default | Extra |
 * pl_from          | int(10) unsigned | NO   | PRI | 0       |       |
 * pl_namespace     | int(11)          | NO   | PRI | 0       |       |
 * pl_title         | varbinary(255)   | NO   | PRI |         |       |
 * pl_from_namespace | int(11)         | NO   | MUL | 0       |       |

+---+--+--+-+-+---+ +---+--+--+-+-+---+ +---+--+--+-+-+---+
 * Field            | Type             | Null | Key | Default | Extra |
 * pl_from          | int(10) unsigned | NO   | PRI | 0       |       |
 * pl_from_namespace | int(11)         | NO   | MUL | 0       |       |
 * pl_namespace     | int(11)          | NO   | PRI | 0       |       |
 * pl_title         | varbinary(255)   | NO   | PRI |         |       |

+---+--+--+-+-+---+ +---+--+--+-+-+---+ +---+--+--+-+-+---+
 * Field            | Type             | Null | Key | Default | Extra |
 * pl_from          | int(10) unsigned | NO   | PRI | 0       |       |
 * pl_from_namespace | int(11)         | NO   |     | 0       |       |
 * pl_namespace     | int(11)          | NO   | PRI | 0       |       |
 * pl_title         | varbinary(255)   | NO   | PRI |         |       |

+--+-+--+-+-+---+ +--+-+--+-+-+---+ +--+-+--+-+-+---+
 * Field       | Type                | Null | Key | Default | Extra |
 * pl_from     | int(10) unsigned    | NO   | PRI | 0       |       |
 * pl_namespace | int(11)            | NO   | PRI | 0       |       |
 * pl_title    | varchar(255) binary | NO   | PRI | NULL    |       |

+--+-+--+-+-+---+ +--+-+--+-+-+---+ +--+-+--+-+-+---+
 * Field       | Type                | Null | Key | Default | Extra |
 * pl_from     | int(8) unsigned     | NO   | PRI | 0       |       |
 * pl_namespace | int(11)            | NO   | PRI | 0       |       |
 * pl_title    | varchar(255) binary | NO   | PRI | NULL    |       |

Indexes
 +---++--+--+---+---+-+--++--++-+---+ +---++--+--+---+---+-+--++--++-+---+ +---++--+--+---+---+-+--++--++-+---+
 * Table    | Non_unique | Key_name                         | Seq_in_index | Column_name       | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
 * pagelinks |         0 | PRIMARY                          |            1 | pl_from           | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
 * pagelinks |         0 | PRIMARY                          |            2 | pl_namespace      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
 * pagelinks |         0 | PRIMARY                          |            3 | pl_title          | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
 * pagelinks |         1 | pl_namespace                     |            1 | pl_namespace      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
 * pagelinks |         1 | pl_namespace                     |            2 | pl_title          | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
 * pagelinks |         1 | pl_namespace                     |            3 | pl_from           | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
 * pagelinks |         1 | pl_backlinks_namespace           |            1 | pl_from_namespace | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
 * pagelinks |         1 | pl_backlinks_namespace           |            2 | pl_namespace      | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
 * pagelinks |         1 | pl_backlinks_namespace           |            3 | pl_title          | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
 * pagelinks |         1 | pl_backlinks_namespace           |            4 | pl_from           | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
 * pagelinks |         1 | pl_target_id                     |            1 | pl_target_id      | A         |           0 |     NULL | NULL   | YES  | BTREE      |         |               |
 * pagelinks |         1 | pl_target_id                     |            2 | pl_from           | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
 * pagelinks |         1 | pl_backlinks_namespace_target_id |            1 | pl_from_namespace | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |
 * pagelinks |         1 | pl_backlinks_namespace_target_id |            2 | pl_target_id      | A         |           0 |     NULL | NULL   | YES  | BTREE      |         |               |
 * pagelinks |         1 | pl_backlinks_namespace_target_id |            3 | pl_from           | A         |           0 |     NULL | NULL   |      | BTREE      |         |               |