gpt4 book ai didi

mysql 结果是 "special character"-insensitive

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

似乎当我更改一个 mysql 表(在 utf-8 表/列上)唯一时,它返回重复输入错误。

例子:

ALTER TABLE name ADD UNIQUE(name)

错误:

Duplicate entry 'Adé' for key 'name_UNIQUE'

我认为这是因为 follow to rows in my database

Ade, Adé

是否可以用特殊字符改变唯一的表?

谢谢,

鲍勃

最佳答案

您需要设置 collation在列(或整个表或数据库——我不认为连接范围适用于唯一约束)到尊重“e”和“é”之间差异的范围。参见 here有关不同排序规则设置可能产生的影响的示例。

假设您的字符集是 utf8,您可以使用的最安全的排序规则是 utf8_bin,其中两个字符串从不比较相等,除非它们是相同的字符串。不过,您需要小心处理 unicode 规范化之类的事情,否则您可能最终会得到两个具有相同字符序列、采用不同规范化形式的键,这使得它们不相等。只是需要注意的一件小事。

关于mysql 结果是 "special character"-insensitive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2287605/

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