我有一个用户表,其中有一列名为“昵称”,utf-8 编码,varchar(20),该表在 InnoDB 中。有 2 条记录,一条昵称 = 'gunni',另一条昵称 = 'günni'。当我尝试在此列上应用唯一索引时,mysql 给了我这个错误:
第 263 行的错误 1062 (23000):键 2 的重复条目“gunni”
我检查了数据,只有一条名为“gunni”的记录,如果我将“günni”记录更改为其他内容,然后再次应用唯一索引,一切正常。
'günni' 和 'gunni' 怎么会重复?这是它们的十六进制值,我通过 mysql 的 hex() 函数得到:
冈尼-> 67756E6E69
günni -> 67C3BC6E6E69
他们显然是不同的。mysql如何将这两个视为相同?或者有什么我不知道的唯一索引?甚至,这可能是一个 mysql 错误吗?