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


你可以借助以下两种方式来实现区分大小写唯一性和不区分大小写搜索 ‑

  • 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) 数据类型,并在列“UserId”上创建了 Index(‘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 中实现区分大小写唯一性和不区分大小写搜索。

更新日期:2019 年 7 月 30 日

1K+ 浏览量

职业生涯扬帆起航

完成课程并获得认证

开始学习
广告