php - MySQL 将两个不同的字符串视为相同

标签 php mysql

<分区>

当两个不同的字符串 jardinierejardiniè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/

相关文章:

javascript - 运行查询后自定义弹出消息

php - 我需要从我的 wordpress 媒体库中删除重复的图像

php - JQuery AJAX + PHP 登录

javascript - 将变量从 php 传递到 javascript 以用作 ID

mysql - 按百分比排序汇总结果?

php - 多WHERE查询

php - 为什么 Laravel REST Controller $request->input 为 NULL?

c# - SqlDataReader.HasRows 始终返回 "true",即使结果为空

mysql - 如何针对时间戳执行查询?

php - 对两个准备好的语句使用相同的 MySql 连接