我可以对 md5() 值使用 VARCHAR(32) 吗?

2022-08-30 20:51:10

是否可以在 MySQL 数据库中对 md5() 值使用长度为 32 且类型为 VARCHAR 的字段?


答案 1

由于 md5 总是产生固定长度的结果,因此最好使用 CHAR(32)


答案 2

最好与字符集一起使用,或者如果您想节省更多空间。CHAR(32)latin1BINARY(16)

CREATE TABLE ... (
    ...
    md5 CHAR(32) CHARACTER SET 'latin1' NOT NULL
    ...

MySQL自5.7起用作默认字符集,并且需要128字节,比.utf8mb4CHAR(32)utf8mb4VARCHAR(32)


推荐