如何在 MySQL 中实现区分大小写的唯一性和不区分大小写的搜索?

mysqlmysqli database更新于 2025/5/24 13:32:17

您可以通过以下两种方式实现区分大小写的唯一性和不区分大小写的搜索 −

  • VARBINARY 数据类型
  • _bin 排序规则

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),并且 Index(‘index_on_UserId2’) 位于 ‘UserId’ 列上。

_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_on_UserId)。

上述两种方法均可在 MySQL 中实现区分大小写的唯一性和不区分大小写的搜索。


相关文章


有用资源