Manual:User table/ja

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

フィールド
Some of this information was adapted from  in the MediaWiki   directory.

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

user_name
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 underscores are converted to spaces (the opposite than with page names).

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

user_password
user_password is one of three formats, depending on the setting of and :


 * MediaWiki 1.24 以降、$wgPasswordDefault の既定値は pbkdf2 です. この場合、以下を連結したものが返ります:
 * 文字列 ":pbkdf2:"
 * The hashing algorithm used inside the pbkdf2 layer, by default "sha256".
 * コロン文字 (":")
 * このアルゴリズムのコスト. 既定値: "10000"
 * コロン文字 (":")
 * The length of the derived key; "128" by default.
 * コロン文字 (":")
 * Base64 encoded "salt" of the hashing algorithm, e.g. "kkdejKlBYFV7+LP2m2thYA=="
 * The colon character (":").
 * And finally the base64 encoded result of the hashing algorithm (that had a (default) length of 128 byte before base64 encoding). The hash of the plain text user password.
 * Since MediaWiki 1.24, if the maintenance script has been used, passwords may also start with ":pbkdf2-legacyA:" or ":pbkdf2-legacyB:" like ":pbkdf2-legacyB:!sha256:10000:128!...".
 * In MediaWiki 1.23 and older, if $wgPasswordSalt is true (default) it is a concatenation of:
 * 文字列 ":B:"
 * A pseudo-random hexadecimal 31-bit salt between 0x0 and 0x7fff ffff (inclusive),
 * コロン文字 (":")
 * The MD5 hash of a concatenation of the salt, a dash ("-"), and the MD5 hash of the password.
 * In MediaWiki 1.23 and older, if $wgPasswordSalt is false, it is a concatenation of:
 * 文字列 ":A:"
 * パスワードの MD5 ハッシュ

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

user_newpass_time
user_newpass_time is set to the current (wfTimestampNow) when a new password is set. Like the other timestamps, it is in in MediaWiki's timestamp format (yyyymmddhhmmss, e.g. 20130824025644).

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

user_options
user_options is no longer used as of MediaWiki 1.16. を参照してください.

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
user_touched the last time a user made a change on the site, including logins, changes to pages (any namespace), watchlistings, and preference changes.

The user_touched time resets when a user is left a talkpage message.

user_token
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
user_email_authenticated is the timestamp of when the user email was authenticated. 既定値は NULL です.

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

user_email_token_expires
user_email_token_expires is the expiration timestamp of the email token.

user_registration
user_registration is the timestamp of when the user registered. For old users, they may have a value of NULL for this field. The script can be used to back-populate this field.

user_editcount
user_editcount is the rough number of edits and edit-like actions the user has performed.

This field is not a exactly accurate copy of. 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 been autopromoted.

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 hasn't been run. Also, some deletions may not affect it consistently.

user_emailauthenticationtimestamp
v1.4 で除去されました.

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

スキーマの要約
(v1.23 時点)

mysql> describe user;

+--+--+--+-+-++ +--+--+--+-+-++ +--+--+--+-+-++
 * 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    |                |

mysql> describe user;

+--+--+--+-+-++ +--+--+--+-+-++ +--+--+--+-+-++
 * 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    |                |

mysql> describe user;

+--+--+--+-+-++ +--+--+--+-+-++ +--+--+--+-+-++
 * 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    |                |

mysql> describe user;

+--+--+--+-+-++ +--+--+--+-+-++ +--+--+--+-+-++
 * 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    |                |

mysql> describe user;

+--+-+--+-+---++ +--+-+--+-+---++ +--+-+--+-+---++
 * 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              |                |

mysql> describe user;

+--+-+--+-+-++ +--+-+--+-+-++ +--+-+--+-+-++
 * 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    |                |

mysql> describe user;

+--+-+--+-+-++ +--+-+--+-+-++ +--+-+--+-+-++
 * 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    |                |

mysql> describe user;

+--+-+--+-+-++ +--+-+--+-+-++ +--+-+--+-+-++
 * 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  |      |     |         |                |