【问题标题】:MySQL CHARACTER SET utf8mb4 VARCHAR lengthMySQL CHARACTER SET utf8mb4 VARCHAR 长度
【发布时间】:2018-01-29 11:36:34
【问题描述】:

过去几天一直在寻找从各种受支持的 MySQL 字符集转换为使用 utf8mb4 的任何问题。似乎大多数人面临的最大问题是 4 字节字符意味着 InnoDB 索引的最大长度(对于 VARCHAR 等列类型)被限制为 191 而不是 255。它还提到非-indexed VARCHAR 列应该是 191 而不是 255。

经过测试,我发现如果将列转换为 255,如果它被索引,您确实会收到错误,但在它没有被索引时不会。如果将来没有计划对其进行索引,是否有任何理由将非索引 VARCHAR 列的长度从 255 减少到 191?

【问题讨论】:

    标签: mysql utf-8 character-encoding utf8mb4


    【解决方案1】:

    阅读this 了解有关 767 限制和各种解决方法的讨论。请注意,一种解决方法是更新到 5.7 版,这会将限制增加到 3KB 以上。

    (我正在更改您的标题,因为 排序规则 与问题无关。)

    【讨论】:

    • 升级到 5.7 是值得的,原因有很多,例如 JSON 列支持。
    猜你喜欢
    • 2017-04-26
    • 2018-02-09
    • 2022-01-10
    • 2021-09-22
    • 2013-02-15
    • 2022-06-22
    • 2011-12-17
    • 2011-01-01
    • 2021-08-11
    相关资源
    最近更新 更多