具有不区分大小写选择和唯一索引的 MySQL 表

标签 mysql

我的 MySQL 表有 2 列,word1 和 word2(两者都不区分大小写,排序规则为 utf8_bin)。

Word1 可以是“篮球”或“篮球”或“篮球”。

(篮球,比赛)和(篮球,比赛)都作为表中的行存在。

我在word1、word2上使用唯一索引来防止插入重复行,例如,行(篮球,游戏)存在,因此拒绝向表中插入(篮球,游戏)。

问题是 SELECT 区分大小写,删除“utf8_bin”排序规则会导致重复条目错误。

如何让 SELECT 匹配不区分大小写的“篮球”和“篮球”行?

最佳答案

您可以指定与 COLLATE keyword 一起使用的排序规则,例如

select * from mytable where word1 = 'baseball' collate utf8_general_ci

关于具有不区分大小写选择和唯一索引的 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38087721/

相关文章:

mysql - 更新或插入具有 6000 万条条目的 mysql 数据库

mysql - 大型 MySQL 数据库表的最佳方法

mysql - 如何合并两个具有不同列号的表? mysql

python - SQLAlchemy ondelete 和 onupdate 不更新数据库

mysql - hibernate.ddl.auto=更新创建DDL错误CommandAcceptanceException

mysql - 如何将相同的列值分组并映射到具有相应帖子值的新列

mysql - 使用mysql计算两个值的差异并根据结果进行排序

当来自不同表的字段处于 OR 条件时,MySQL 不使用索引

php - 如何将图像发布到数据库列并在页面上显示?

mysql - 持久mysql连接,无论用户连接如何?