由于之前网站使用第三方登录,QQ昵称比较特殊,所以用二进制的字段类型存储。
mysql二进制类型有:
BINARY
VARBINARY
TINYBLOB, BLOB, MEDIUMBLOB, and LONGBLOB
顺便列一下各种数据类型的存储范围:
Storage Requirements for Numeric Types
Data Type
Storage Required
1 byte
2 bytes
3 bytes
4 bytes
8 bytes
FLOAT(_`p`_)
4 bytes if 0 <= p
<= 24, 8 bytes if 25 <= p
<= 53
4 bytes
DOUBLE [PRECISION]
, REAL
8 bytes
DECIMAL(_`M`_,_`D`_)
, NUMERIC(_`M`_,_`D`_)
Varies; see following discussion
BIT(_`M`_)
approximately (M
+7)/8 bytes
Storage Requirements for Date and Time Types
Data Type
Storage Required Before MySQL 5.6.4
Storage Required as of MySQL 5.6.4
1 byte
1 byte
3 bytes
3 bytes
3 bytes
3 bytes + fractional seconds storage
8 bytes
5 bytes + fractional seconds storage
4 bytes
4 bytes + fractional seconds storage
Storage Requirements for String Types
Data Type
Storage Required
CHAR(_`M`_)
M
× w
bytes, 0 <= _`M`_ <=
255, where w
is the number of bytes required for the maximum-length character in the character set. SeeSection 15.2.6.7, “Physical Row Structure” for information about CHAR
data type storage requirements for InnoDB
tables.
BINARY(_`M`_)
M
bytes, 0 <= _`M`_ <=
255
VARCHAR(_`M`_)
, VARBINARY(_`M`_)
L
+ 1 bytes if column values require 0 − 255 bytes, L
+ 2 bytes if values may require more than 255 bytes
L
+ 1 bytes, where L
< 28
L
+ 2 bytes, where L
< 216
L
+ 3 bytes, where L
< 224
L
+ 4 bytes, where L
< 232
ENUM('_`value1`_','_`value2`_',...)
1 or 2 bytes, depending on the number of enumeration values (65,535 values maximum)
SET('_`value1`_','_`value2`_',...)
1, 2, 3, 4, or 8 bytes, depending on the number of set members (64 members maximum)