首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL文本索引只检查256个字符?

MySQL文本索引只检查256个字符?
EN

Stack Overflow用户
提问于 2013-09-18 12:46:50
回答 1查看 390关注 0票数 5

MySQL在文本列上的UNI键似乎只查看要测试唯一性的前255个字符。如果有两个字符串以相同的255个字符开头,则不能将它们都添加到此表中。

有什么办法可以克服这个问题吗?

我输入这个字段的原因是为了确保唯一性,而不管查询(这些查询不在我的控制范围内),而不是为了性能。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-18 12:52:27

您不能在MySQL中索引键长度大于MySQL 4.1.2之前的255个符号 / 更高版本的1000字节(InnoDB为767字节)的文本字段--并且无法在本机克服这一问题。

最简单的解决方案是计算md5哈希并将其存储在另一列中,然后通过它创建唯一的索引,并创建一个触发器 before insert & before update,它将自动为您插入md5。如果您正在运行MySQL服务器4.x -那么您需要自己处理(因为没有可用的触发器)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18872667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档