<分区>
当两个不同的字符串 jardiniere 和 jardinière 插入到具有 UNIQUE KEY 的列(名为 word
)时,MySQL 在 INSERT QUERY 上抛出错误启用。
Error: #1062 - Duplicate entry 'jardinière' for key 'word'
我还在 INSERT 查询之前添加了以下行(在 PHP 文件中)
mysqli_set_charset($con, "utf8");
我该如何解决这个错误?
<分区>
当两个不同的字符串 jardiniere 和 jardinière 插入到具有 UNIQUE KEY 的列(名为 word
)时,MySQL 在 INSERT QUERY 上抛出错误启用。
Error: #1062 - Duplicate entry 'jardinière' for key 'word'
我还在 INSERT 查询之前添加了以下行(在 PHP 文件中)
mysqli_set_charset($con, "utf8");
我该如何解决这个错误?
最佳答案
表(特定列)的排序规则需要设置为utf8_bin
,以便将两个字符彼此分开。
运行以下查询以更新字符集和排序规则(如果您只在该列上需要它,可以将其设置为 utf8_bin
)。
ALTER TABLE myTable
CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
请记住,与 latin_*
和 utf8_XXX_ci
不同,utf8_bin
在比较时区分大小写。
关于php - MySQL 将两个不同的字符串视为相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55903068/