【问题标题】:"Specified key was too long; max key length is 1000 bytes"“指定的密钥太长;最大密钥长度为 1000 字节”
【发布时间】:2010-11-05 11:22:38
【问题描述】:

我无法在 varchar(500) 上创建索引。

MySQL:Specified key was too long; max key length is 1000 bytes

【问题讨论】:

标签: mysql indexing


【解决方案1】:
latin1 = 1 byte = 1 character
uft8 = 3 byte = 1 character
gbk = 2 byte = 1 character

【讨论】:

  • utf-8 字符不应该是可变长度 (1-4),取决于 unicode 代码点吗?
  • 一个utf8字符需要的最大字节数是3,MySQL必须规定te字段中的所有字符都是最大字节数。
  • 除了 UTF-8 上的最大字节数是 4 个字节。 MySQL 做出了这个愚蠢、愚蠢、愚蠢、极其邪恶的决定,让 utf8 只支持 3 个字节。 “真正的” UTF-8 兼容字符集是 utf8mb4,仅支持 MySQL 5.6。
猜你喜欢
  • 2011-09-03
  • 2012-02-03
  • 1970-01-01
  • 2012-08-04
  • 2017-02-27
  • 2017-03-13
  • 1970-01-01
相关资源
最近更新 更多