我可以将VARCHAR(32)用于md5()值吗?

时间:2013-02-17 14:39:04

标签: php mysql md5

我可以在MySQL数据库中使用长度为32且类型为VARCHAR的字段来获取md5()值吗?

2 个答案:

答案 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)差。