我可以在MySQL数据库中使用长度为32且类型为VARCHAR的字段来获取md5()值吗?
答案 0 :(得分:26)
由于md5总是产生固定长度的结果,所以最好使用CHAR(32)
答案 1 :(得分:0)
最好将CHAR(32)
与latin1
字符集一起使用,如果要节省更多空间,最好使用BINARY(16)
。
CREATE TABLE ... (
...
md5 CHAR(32) CHARACTER SET 'latin1' NOT NULL
...
MySQL从5.7开始使用utf8mb4
作为默认字符集,而CHAR(32)
与utf8mb4
占用128个字节,比VARCHAR(32)
差。