Manual:User table/zh

user表是MediaWiki用來儲存用戶資訊的地方. 如果使用Postgres，這個表會被命名為mwuser.

字段
Some of this information was adapted from  in the MediaWiki   directory.

user_id
user_id是主鍵，用於唯一地辨識用戶.

user_name
user_name: 用戶名必須是獨一無二的，並且不能是IP地址的格式. 不應該允許斜線或大小寫衝突. 参见. 允許空格，並下劃線會被轉換為空格（與頁面名稱相反）.

user_real_name
user_real_name儲存用戶在「偏好設定」中提供的真實姓名（選填）.

user_password
user_password使以下三種之一的格式，根據了和的設定：


 * 從MediaWiki 1.24開始，$wgPasswordDefault預設為pbkdf2. In this case you will get a concatenation of:
 * 字串「:pbkdf2:」.
 * The hashing algorithm used inside the pbkdf2 layer, by default "sha256".
 * The colon character (":").
 * The cost for this algorithm, by default "10000".
 * The colon character (":").
 * The length of the derived key; "128" by default.
 * The colon character (":").
 * 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:
 * 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.
 * In MediaWiki 1.23 and older, if $wgPasswordSalt is false, it is a concatenation of:
 * The string ":A:" and
 * The MD5 hash of the password.

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_options
user_options is no longer used as of MediaWiki 1.16. See.

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.

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  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. Defaults to 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. The following actions are counted as edits:
 * Creating or modifying a MediaWiki page even if the revision or page is later deleted (i.e. making a non-null edit)
 * Creating or modifying a post on a Structured Discussions (former "Flow") board
 * Moving a page to a new title (since version 1.30)

This field is not an 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
Removed in 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.

Schema summary
+--+-+--+-+-++ +--+-+--+-+-++ +--+-+--+-+-++
 * 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    |                |
 * user_password_expires   | varbinary(14)       | YES  |     | NULL    |                |

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

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

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

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

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

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

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

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

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