Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 대소문자를 구분하는 고유성과 대소문자를 구분하지 않는 검색을 달성하는 방법은 무엇입니까?

<시간/>

다음 두 가지 방법을 사용하여 대소문자를 구분하는 고유성과 대소문자를 구분하지 않는 검색을 수행할 수 있습니다.

  • VARBINARY 데이터 유형
  • _빈 데이터 정렬

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)이고 index(index_on_UserId)는 'UserId' 열입니다.

위의 두 가지 접근 방식 모두 MySQL에서 대소문자 구분 고유성과 대소문자 구분 없는 검색을 달성합니다.