【发布时间】:2016-07-25 02:58:25
【问题描述】:
我知道使用 UTF8 时索引大小限制为 767 字节,但我需要一个 varchar 字段为 512 个字符、UTF8 且可索引,以便我可以使用 INSERT ON DUPLICATE KEY UPDATE 对其进行更新。如果该字段是 255 个字符,它工作正常,但我需要存储大于 255 个字符的 Windows 文件路径,还可能包含 unicode 和外来字符。任何有关解决方法的建议将不胜感激。
【问题讨论】:
-
如果它适用于 255 varchar 字段长度,这意味着您使用的是 MySQL 特定的 UTF-8 3 字节而不是真正的 UTF-8,即每个字符 4 字节。使用 UTF-8 4 字节 which is the true UTF-8 的唯一索引字符串的最大大小约为 190 个字符。如果您要在字段中使用“外来”字符,则应在 MySQL 中使用
UTF8mb4_字符集 -
感谢您纠正我需要使用 UTF8mb4。
标签: mysql