gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:08:14 27 4
gpt4 key购买 nike

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

有没有办法克服这个问题?

我键入此字段的原因是为了确保唯一性,而不考虑查询(那些不在我的控制之下),而不是为了性能。

最佳答案

您不能在 MySQL 中索引键长度超过 255 symbols before MySQL 4.1.2 的文本字段/1000 bytes (767 for InnoDB) for higher versions - 你无法天生克服它。

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

关于MySQL 文本索引只检查 256 个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18872667/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com