MySQL 如何实现区分大小写的唯一性和不区分大小写的搜索
您可以通过以下两种方式实现区分大小写的唯一性和不区分大小写的搜索。
- VARBINARY 数据类型
- _bin 排序规则
阅读更多:MySQL 教程
VARBINARY 数据类型
要使用 VARBINARY 数据类型,请先创建一个表。创建表的查询如下所示:
mysql> create table SearchingDemo2
-> (
-> UserId VARBINARY(128) NOT NULL,
-> UNIQUE KEY index_on_UserId2(UserId )
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Query OK, 0 rows affected, 1 warning (0.99 sec)
请注意 UserId 的数据类型为 VARBINARY(128),而在列‘UserId’上的索引(‘index_on_UserId2’)。
_bin 排序规则
第二种方式如下。让我们创建一个新表 –
mysql> create table SearchingDemo
-> (
-> UserId varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
-> UNIQUE KEY index_on_UserId(UserId )
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Query OK, 0 rows affected, 2 warnings (0.88 sec)
UserId 的数据类型为 varchar(128),而在列‘UserId’上的索引为 index(index_on_UserId)。
以上两种方法都能在MySQL中实现区分大小写的唯一性和不区分大小写的搜索。