Theuser table is where MediaWiki stores information about users.If using Postgres, this table is namedmwuser prior to 1.37.
Some of this information was adapted fromschema.doc
in the MediaWikidocs/
directory.
user_id is the primary key, used to uniquely identify a user.
user_name:Usernames must be unique, and must not be in the form of an IP address.Shouldn't allow slashes or case conflicts.See alsoManual:$wgInvalidUsernameCharacters.Spaces are allowed, and underscores are converted to spaces (the opposite than with page names).
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 is one of three formats, depending on the setting of$wgPasswordDefault:
:
).:
).:
).:
).Inwiki farms which useCentralAuth, this field can contain an outdated and unused value (T104500).The canonical password value is stored in thegu_password
field of theglobaluser table.
user_newpassword is generated for the mail-a-new-password feature.
user_newpass_time is set to the currenttimestamp (wfTimestampNow()) when a new password is set.Like the other timestamps, it is in MediaWiki's timestamp format (yyyymmddhhmmss, e.g. 20130824025644).
Inwiki farms which useCentralAuth, this field can contain an outdated and unused value (T104500).The canonical email is stored in thegu_email
field of theglobaluser table.
MediaWiki version: | ≤ 1.18 |
(deprecated in 1.16)SeeManual:User properties table.
On older versions of mediawiki, it is a newline-separated list of name=value pairs of the information ofSpecial:Preferences.Old user accounts who haven't logged in since the field stopped being used may still have this field set.
user_touched the last time a user logged in (not just mere visiting using an existing session), modified user settings, or got promoted into new user groups.
MediaWiki version: | ≥ 1.4 |
user_token is a pseudorandomly generated value.When a user checks "Keep me logged in" the value is stored in a persistent browser cookie${wgCookiePrefix}Token
that authenticates the user while being resistant to spoofing.
user_email_authenticated is the timestamp of when the user email was authenticated.Defaults to NULL.
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 is the expiration timestamp of the email token.
MediaWiki version: | ≥ 1.6 |
user_registration is thetimestamp (date and time) of when the user registered.For old users, they may have a value of NULL for this field.ThefixUserRegistration.php script can be used to back-populate this field.
MediaWiki version: | ≥ 1.9 |
user_editcount is the rough number of edits and edit-like actions the user has performed.The following actions are counted as edits:
This field isnot an exactly accurate copy ofCOUNT(*) FROM revision WHERE rev_user = user_id
.However, it should be roughly accurate if the update scripts are consistently run and it's the only place edit count data is available to the software, so it's still used for serious purposes like deciding whether accounts have beenautopromoted.
A number of things could cause this value to be incorrect.For example, it may be out of date or, for old accounts, NULL if the update script (initEditCount.php) hasn't been run.Also, some deletions may not affect it consistently.
MediaWiki version: | ≤ 1.3 |
Removed in v1.4.
MediaWiki version: | ≥ 1.23 |
Date when user's password expires; null for no expiration date.
MediaWiki version: | ≥ 1.41 Gerrit change 918513 |
A boolean value representing whether the user is a temporary user.Zero if any type of user other than a temporary user.This exists to allow temporary users to be identified from the database only, by external applications.
MediaWiki version: | ≥ 1.41 |
DESCRIBEuser;
+--------------------------+------------------+------+-----+----------------------------------+----------------+| 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 | | NULL | || 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(10) unsigned | YES | | NULL | || user_password_expires | varbinary(14) | YES | | NULL | || user_is_temp | tinyint(1) | NO | | 0 | |+--------------------------+------------------+------+-----+----------------------------------+----------------+
MediaWiki versions: | 1.39 – 1.40 |
DESCRIBEuser;
+--------------------------+------------------+------+-----+----------------------------------+----------------+| 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 | | NULL | || 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(10) unsigned | YES | | NULL | || user_password_expires | varbinary(14) | YES | | NULL | |+--------------------------+------------------+------+-----+----------------------------------+----------------+
MediaWiki versions: | 1.36 – 1.38 |
DESCRIBEuser;
+--------------------------+------------------+------+-----+----------------------------------+----------------+| 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 | | NULL | || 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 versions: | 1.23 – 1.35 |
DESCRIBEuser;
+--------------------------+------------------+------+-----+----------------------------------+----------------+| 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 versions: | 1.19 – 1.22 |
DESCRIBEuser;
+--------------------------+---------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+--------------------------+---------------------+------+-----+---------+----------------+| user_id | int(10) unsigned | NO | PRI | NULL | AUTO_INCREMENT || user_name | varchar(255) binary | NO | MUL | NULL | || user_real_name | varchar(255) binary | NO | | NULL | || user_password | tinyblob | NO | | NULL | || user_newpassword | tinyblob | NO | | NULL | || user_newpass_time | binary(14) | YES | | NULL | || user_email | tinytext | NO | MUL | NULL | || user_touched | binary(14) | NO | | NULL | || user_token | binary(32) | NO | | NULL | || 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.18 |
DESCRIBEuser;
+--------------------------+---------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+--------------------------+---------------------+------+-----+---------+----------------+| user_id | int(10) unsigned | NO | PRI | NULL | AUTO_INCREMENT || user_name | varchar(255) binary | NO | MUL | NULL | || user_real_name | varchar(255) binary | NO | | NULL | || user_password | tinyblob | NO | | NULL | || user_newpassword | tinyblob | NO | | NULL | || user_newpass_time | binary(14) | YES | | NULL | || user_email | tinytext | NO | MUL | NULL | || user_options | blob | NO | | NULL | || user_touched | binary(14) | NO | | NULL | || user_token | binary(32) | NO | | NULL | || 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 versions: | 1.10 – 1.17 |
DESCRIBEuser;
+--------------------------+---------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+--------------------------+---------------------+------+-----+---------+----------------+| user_id | int(10) unsigned | NO | PRI | NULL | AUTO_INCREMENT || user_name | varchar(255) binary | NO | MUL | NULL | || user_real_name | varchar(255) binary | NO | | NULL | || user_password | tinyblob | NO | | NULL | || user_newpassword | tinyblob | NO | | NULL | || user_newpass_time | binary(14) | YES | | NULL | || user_email | tinytext | NO | | NULL | || user_options | blob | NO | | NULL | || user_touched | binary(14) | NO | | NULL | || user_token | binary(32) | NO | | NULL | || 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 |
DESCRIBEuser;
+--------------------------+---------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+--------------------------+---------------------+------+-----+---------+----------------+| user_id | int(5) unsigned | NO | PRI | NULL | AUTO_INCREMENT || user_name | varchar(255) binary | NO | MUL | NULL | || user_real_name | varchar(255) binary | NO | | NULL | || user_password | tinyblob | NO | | NULL | || user_newpassword | tinyblob | NO | | NULL | || user_newpass_time | char(14) binary | YES | | NULL | || user_email | tinytext | NO | | NULL | || user_options | blob | NO | | NULL | || user_touched | char(14) binary | NO | | NULL | || user_token | char(32) binary | NO | | NULL | || user_email_authenticated | char(14) binary | YES | | NULL | || user_email_token | char(32) binary | YES | MUL | NULL | || user_email_token_expires | char(14) binary | YES | | NULL | || user_registration | char(14) binary | YES | | NULL | || user_editcount | int(11) | YES | | NULL | |+--------------------------+---------------------+------+-----+---------+----------------+
MediaWiki versions: | 1.6 – 1.8 |
DESCRIBEuser;
+--------------------------+---------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+--------------------------+---------------------+------+-----+---------+----------------+| user_id | int(5) unsigned | NO | PRI | NULL | AUTO_INCREMENT || user_name | varchar(255) binary | NO | MUL | NULL | || user_real_name | varchar(255) binary | 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) binary | NO | | NULL | || user_token | char(32) binary | NO | | NULL | || user_email_authenticated | char(14) binary | YES | | NULL | || user_email_token | char(32) binary | YES | MUL | NULL | || user_email_token_expires | char(14) binary | YES | | NULL | || user_registration | char(14) binary | YES | | NULL | |+--------------------------+---------------------+------+-----+---------+----------------+
MediaWiki version: | 1.5 |
DESCRIBEuser;
+--------------------------+---------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+--------------------------+---------------------+------+-----+---------+----------------+| user_id | int(5) unsigned | NO | PRI | NULL | AUTO_INCREMENT || user_name | varchar(255) binary | NO | MUL | NULL | || user_real_name | varchar(255) binary | 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) binary | NO | | NULL | || user_token | char(32) binary | NO | | NULL | || user_email_authenticated | char(14) binary | YES | | NULL | || user_email_token | char(32) binary | YES | MUL | NULL | || user_email_token_expires | char(14) binary | YES | | NULL | |+--------------------------+---------------------+------+-----+---------+----------------+
MediaWiki version: | 1.4 |
DESCRIBEuser;
+------------------+---------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+------------------+---------------------+------+-----+---------+----------------+| user_id | int(5) unsigned | NO | PRI | NULL | AUTO_INCREMENT || user_name | varchar(255) binary | NO | MUL | NULL | || user_real_name | varchar(255) binary | 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) binary | NO | | NULL | |+------------------+---------------------+------+-----+---------+----------------+
MediaWiki version: | 1.3 |
DESCRIBEuser;
+------------------+---------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+------------------+---------------------+------+-----+---------+----------------+| user_id | int(5) unsigned | NO | PRI | NULL | AUTO_INCREMENT || user_name | varchar(255) binary | NO | MUL | NULL | || user_real_name | varchar(255) binary | NO | | NULL | || user_rights | tinyblob | 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) binary | NO | | NULL | |+------------------+---------------------+------+-----+---------+----------------+
MediaWiki versions: | 1.1 – 1.2 |
DESCRIBEuser;
+------------------+---------------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+------------------+---------------------+------+-----+---------+----------------+| user_id | int(5) unsigned | NO | PRI | NULL | AUTO_INCREMENT || user_name | varchar(255) binary | NO | MUL | NULL | || user_rights | tinyblob | 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) binary | NO | | NULL | |+------------------+---------------------+------+-----+---------+----------------+
MediaWiki version: | ≥ 1.18 |
SHOWINDEXINuser;
+-------+------------+------------------+--------------+------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |+-------+------------+------------------+--------------+------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+| user | 0 | PRIMARY | 1 | user_id | A | 0 | NULL | NULL | | BTREE | | || user | 0 | user_name | 1 | user_name | A | 0 | NULL | NULL | | BTREE | | || user | 1 | user_email_token | 1 | user_email_token | A | 0 | NULL | NULL | YES | BTREE | | || user | 1 | user_email | 1 | user_email | A | 0 | 50 | NULL | | BTREE | | |+-------+------------+------------------+--------------+------------------+-----------+-------------+----------+--------+------+------------+---------+---------------+