Manual:user table

From MediaWiki.org
Jump to: navigation, search
Manual:Contents MediaWiki database layout user table


The user table is where MediaWiki stores information about users. If using Postgres, this table is named mwuser.

Fields[edit | edit source]

Some of this information was adapted from schema.doc in the MediaWiki docs/ directory.

user_id[edit | edit source]

user_id is the primary key, used to uniquely identify a user

user_name[edit | edit source]

user_name: Usernames must be unique, and must not be in the form of an IP address. Shouldn't allow slashes or case conflicts. Spaces are allowed, and are not converted to underscores like titles. (Conflicts?)

user_real_name[edit | edit source]

MediaWiki version: 1.3
user_real_name stores the user's real name (optional) as provided by the user in their "Preferences" section.

user_password[edit | edit source]

user_password is one of two formats, depending on the setting of $wgPasswordSalt:
-If $wgPasswordSalt is true (default) it is a concatenation of:
  • The string ":B:",
  • A pseudo-random hexadecimal 31-bit salt between 0x0 and 0x7fff ffff (inclusive),
  • The colon character (":"), and
  • The MD5 hash of a concatenation of the salt, a dash ("-"), and the MD5 hash of the password.
-If $wgPasswordSalt is false, it is a concatenation of:
  • The string ":A:" and
  • The MD5 hash of the password.

user_newpassword[edit | edit source]

user_newpassword is generated for the mail-a-new-password feature.

user_newpass_time[edit | edit source]

user_newpass_time is set to the current timestamp (wfTimestampNow()) when a new password is set.

user_email[edit | edit source]

user_email Note: email should be restricted, not public info. Same with passwords. ;)

user_options[edit | edit source]

MediaWiki version: 1.18
user_options is no longer used as of MediaWiki 1.16. See manual:User properties table
On older versions of mediawiki, it is a newline-separated list of name=value pairs of the information of special:preferences. Old user accounts who haven't logged in since the field stopped being used may still have this field set.

user_touched[edit | edit source]

user_touched the last time a user made a change on the site, including logins, changes to pages (any namespace), watchlistings, and preference changes. note: the user_touched time resets when a user is left a talkpage message.

user_token[edit | edit source]

MediaWiki version: 1.4
user_token is a pseudorandomly generated value. When a user checks "Remember my login on this browser" the value is stored in a persistent browser cookie ${wgCookiePrefix}Token that authenticates the user while being resistant to spoofing.

user_email_authenticated[edit | edit source]

user_email_authenticated is the timestamp of when the user email was authenticated. Defaults to NULL.

user_email_token[edit | edit source]

MediaWiki version: 1.5

user_email_token is a token used for confirming an email address. See User::newFromConfirmationCode in User.php

user_email_token_expires[edit | edit source]

user_email_token_expires is the expiration timestamp of the email token.

user_registration[edit | edit source]

MediaWiki version: 1.6

user_registration is the timestamp of when the user registered.

user_editcount[edit | edit source]

MediaWiki version: 1.9

user_editcount

Count of edits and edit-like actions.
*NOT* intended to be an accurate copy of COUNT(*) WHERE rev_user=user_id. May contain NULL for old accounts if batch-update scripts haven't been run, as well as listing deleted edits and other myriad ways it could be out of sync. Execute the script initEditCount.php to update this table column.
Meant primarily for heuristic checks to give an impression of whether the account has been used much.

user_emailauthenticationtimestamp[edit | edit source]

MediaWiki version: 1.3

Removed in v1.4.

user_password_expires[edit | edit source]

MediaWiki version: 1.23

Date when user's password expires; null for no expiration date. Can also be set manually by calling User->expirePassword().

Schema summary[edit | edit source]

(Current as of v1.23)

MediaWiki version: 1.23

"DESCRIBE user;" in version 1.23 gives the following:

+--------------------------+------------------+------+-----+---------+----------------+
| Field                    | Type             | Null | Key | Default | Extra          |
+--------------------------+------------------+------+-----+---------+----------------+
| user_id                  | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| user_name                | varbinary(255)   | NO   | UNI |         |                |
| user_real_name           | varbinary(255)   | NO   |     |         |                |
| user_password            | tinyblob         | NO   |     | NULL    |                |
| user_newpassword         | tinyblob         | NO   |     | NULL    |                |
| user_newpass_time        | binary(14)       | YES  |     | NULL    |                |
| user_email               | tinyblob         | NO   | MUL | NULL    |                |
| user_touched             | binary(14)       | NO   |     |         |                |
| user_token               | binary(32)       | NO   |     |         |                |
| user_email_authenticated | binary(14)       | YES  |     | NULL    |                |
| user_email_token         | binary(32)       | YES  | MUL | NULL    |                |
| user_email_token_expires | binary(14)       | YES  |     | NULL    |                |
| user_registration        | binary(14)       | YES  |     | NULL    |                |
| user_editcount           | int(11)          | YES  |     | NULL    |                |
| user_password_expires    | varbinary(14)    | YES  |     | NULL    |                |
+--------------------------+------------------+------+-----+---------+----------------+
MediaWiki version: 1.19

"DESCRIBE user;" in version 1.19 gives the following:

+--------------------------+------------------+------+-----+---------+----------------+
| Field                    | Type             | Null | Key | Default | Extra          |
+--------------------------+------------------+------+-----+---------+----------------+
| user_id                  | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| user_name                | varbinary(255)   | NO   | UNI |         |                |
| user_real_name           | varbinary(255)   | NO   |     |         |                |
| user_password            | tinyblob         | NO   |     | NULL    |                |
| user_newpassword         | tinyblob         | NO   |     | NULL    |                |
| user_newpass_time        | binary(14)       | YES  |     | NULL    |                |
| user_email               | tinyblob         | NO   | MUL | NULL    |                |
| user_touched             | binary(14)       | NO   |     |         |                |
| user_token               | binary(32)       | NO   |     |         |                |
| user_email_authenticated | binary(14)       | YES  |     | NULL    |                |
| user_email_token         | binary(32)       | YES  | MUL | NULL    |                |
| user_email_token_expires | binary(14)       | YES  |     | NULL    |                |
| user_registration        | binary(14)       | YES  |     | NULL    |                |
| user_editcount           | int(11)          | YES  |     | NULL    |                |
+--------------------------+------------------+------+-----+---------+----------------+


MediaWiki version: 1.13

"DESCRIBE user;" in version 1.13 gives the following:

+--------------------------+------------------+------+-----+---------+----------------+
| Field                    | Type             | Null | Key | Default | Extra          |
+--------------------------+------------------+------+-----+---------+----------------+
| user_id                  | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| user_name                | varbinary(255)   | NO   | UNI |         |                |
| user_real_name           | varbinary(255)   | NO   |     |         |                |
| user_password            | tinyblob         | NO   |     |         |                |
| user_newpassword         | tinyblob         | NO   |     |         |                |
| user_newpass_time        | binary(14)       | YES  |     | NULL    |                |
| user_email               | tinyblob         | NO   |     |         |                |
| user_options             | blob             | NO   |     |         |                |
| user_touched             | binary(14)       | NO   |     |         |                |
| user_token               | binary(32)       | NO   |     |         |                |
| user_email_authenticated | binary(14)       | YES  |     | NULL    |                |
| user_email_token         | binary(32)       | YES  | MUL | NULL    |                |
| user_email_token_expires | binary(14)       | YES  |     | NULL    |                |
| user_registration        | binary(14)       | YES  |     | NULL    |                |
| user_editcount           | int(11)          | YES  |     | NULL    |                |
+--------------------------+------------------+------+-----+---------+----------------+


MediaWiki version: 1.11

"DESCRIBE user;" in version 1.11 gives the following:

+--------------------------+------------------+------+-----+---------+----------------+
| Field                    | Type             | Null | Key | Default | Extra          |
+--------------------------+------------------+------+-----+---------+----------------+
| user_id                  | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| user_name                | varchar(255)     | NO   | UNI |         |                |
| user_real_name           | varchar(255)     | NO   |     |         |                |
| user_password            | tinyblob         | NO   |     |         |                |
| user_newpassword         | tinyblob         | NO   |     |         |                |
| user_newpass_time        | binary(14)       | YES  |     | NULL    |                |
| user_email               | tinytext         | NO   |     |         |                |
| user_options             | blob             | NO   |     |         |                |
| user_touched             | binary(14)       | NO   |     |         |                |
| user_token               | binary(32)       | NO   |     |         |                |
| user_email_authenticated | binary(14)       | YES  |     | NULL    |                |
| user_email_token         | binary(32)       | YES  | MUL | NULL    |                |
| user_email_token_expires | binary(14)       | YES  |     | NULL    |                |
| user_registration        | binary(14)       | YES  |     | NULL    |                |
| user_editcount           | int(11)          | YES  |     | NULL    |                |
+--------------------------+------------------+------+-----+---------+----------------+


MediaWiki version: 1.9

"DESCRIBE user;" in version 1.9 gives the following:

+--------------------------+-----------------+------+-----+-------------------+----------------+
| Field                    | Type            | Null | Key | Default           | Extra          |
+--------------------------+-----------------+------+-----+-------------------+----------------+
| user_id                  | int(5) unsigned | NO   | PRI | NULL              | auto_increment |
| user_name                | varchar(255)    | NO   | UNI | NULL              |                |
| user_real_name           | varchar(255)    | NO   |     | NULL              |                |
| user_password            | tinyblob        | NO   |     | NULL              |                |
| user_newpassword         | tinyblob        | NO   |     | NULL              |                |
| user_email               | tinytext        | NO   |     | NULL              |                |
| user_options             | blob            | NO   |     | NULL              |                |
| user_touched             | char(14)        | NO   |     | NULL              |                |
| user_token               | char(32)        | NO   |     | NULL              |                |
| user_email_authenticated | char(14)        | YES  |     | NULL              |                |
| user_email_token         | char(32)        | YES  | MUL | NULL              |                |
| user_email_token_expires | char(14)        | YES  |     | NULL              |                |
| user_registration        | char(14)        | YES  |     | NULL              |                |
| user_newpass_time        | timestamp       | YES  |     | CURRENT_TIMESTAMP |                |
| user_editcount           | int(11)         | YES  |     | NULL              |                |
+--------------------------+-----------------+------+-----+-------------------+----------------+


MediaWiki version: 1.8

"DESCRIBE user;" in version 1.8 gives the following:

+--------------------------+-----------------+------+-----+---------+----------------+
| Field                    | Type            | Null | Key | Default | Extra          |
+--------------------------+-----------------+------+-----+---------+----------------+
| user_id                  | int(5) unsigned | NO   | PRI | NULL    | auto_increment |
| user_name                | varchar(255)    | NO   | UNI | NULL    |                |
| user_real_name           | varchar(255)    | NO   |     | NULL    |                |
| user_password            | tinyblob        | NO   |     | NULL    |                |
| user_newpassword         | tinyblob        | NO   |     | NULL    |                |
| user_email               | tinytext        | NO   |     | NULL    |                |
| user_options             | blob            | NO   |     | NULL    |                |
| user_touched             | char(14)        | NO   |     | NULL    |                |
| user_token               | char(32)        | NO   |     | NULL    |                |
| user_email_authenticated | char(14)        | YES  |     | NULL    |                |
| user_email_token         | char(32)        | YES  | MUL | NULL    |                |
| user_email_token_expires | char(14)        | YES  |     | NULL    |                |
| user_registration        | char(14)        | YES  |     | NULL    |                |
+--------------------------+-----------------+------+-----+---------+----------------+


MediaWiki version: 1.5

"DESCRIBE user;" in version 1.5 gives the following:

+--------------------------+-----------------+------+-----+---------+----------------+
| Field                    | Type            | Null | Key | Default | Extra          |
+--------------------------+-----------------+------+-----+---------+----------------+
| user_id                  | int(5) unsigned | NO   | PRI | NULL    | auto_increment |
| user_name                | varchar(255)    | NO   | UNI |         |                |
| user_real_name           | varchar(255)    | NO   |     |         |                |
| user_password            | tinyblob        | NO   |     |         |                |
| user_newpassword         | tinyblob        | NO   |     |         |                |
| user_email               | tinytext        | NO   |     |         |                |
| user_options             | blob            | NO   |     |         |                |
| user_touched             | char(14)        | NO   |     |         |                |
| user_token               | char(32)        | NO   |     |         |                |
| user_email_authenticated | char(14)        | YES  |     | NULL    |                |
| user_email_token         | char(32)        | YES  | MUL | NULL    |                |
| user_email_token_expires | char(14)        | YES  |     | NULL    |                |
+--------------------------+-----------------+------+-----+---------+----------------+


MediaWiki version: 1.4

"DESCRIBE user;" in version 1.4 gives the following:

+------------------+---------------------+------+-----+---------+----------------+
| Field            | Type                | Null | Key | Default | Extra          |
+------------------+---------------------+------+-----+---------+----------------+
| user_id          | int(5) unsigned     |      | PRI | NULL    | auto_increment |
| user_name        | varchar(255) binary |      |     |         |                |
| user_rights      | tinyblob            |      |     |         |                |
| user_password    | tinyblob            |      |     |         |                |
| user_newpassword | tinyblob            |      |     |         |                |
| user_email       | tinytext            |      |     |         |                |
| user_options     | blob                |      |     |         |                |
| user_touched     | varchar(14) binary  |      |     |         |                |
+------------------+---------------------+------+-----+---------+----------------+

See also[edit | edit source]

Databases Engines: MySQLOraclePostgreSQLSQLite
Technical documentation: Schema (tables) – API property associationsField prefixesPrimary key storage in other fieldsWikimedia extension tables
Configuration: SettingsSharing
Development: AccessOptimizationPolicyUpdaterExtension schema updatesPatch file
Core tables: archivecategorycategorylinkschange_tagconfigexternallinksfilearchivehitcounterimageimagelinksinterwikiiwlinksipblocksjobl10n_cachelanglinkslogginglog_searchmsg_resourcemsg_resource_linksmodule_depsobjectcacheoldimagepagepagelinkspage_propspage_restrictionsprotected_titlesquerycachequerycachetwoquerycache_inforecentchangesredirectrevisionsearchindexsitessite_statstag_summarytemplatelinkstexttranscacheupdateloguploadstashuseruser_former_groupsuser_groupsuser_newtalkuser_propertiesvalid_tagwatchlist
Language: English  • 日本語 • polski