Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm thế nào để đạt được tính duy nhất phân biệt chữ hoa chữ thường và tìm kiếm không phân biệt chữ hoa chữ thường trong MySQL?

Bạn có thể đạt được tính duy nhất có phân biệt chữ hoa chữ thường và tìm kiếm không phân biệt chữ hoa chữ thường với sự trợ giúp của hai cách sau -

  • Kiểu dữ liệu VARBINARY
  • Đối chiếu _bin

Kiểu dữ liệu VARBINARY

Để làm việc với kiểu dữ liệu VARBINARY, trước tiên chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

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)

Hãy nhớ rằng UserId có kiểu dữ liệu VARBINARY (128) và Index (‘index_on_UserId2’) trên cột ‘UserId’.

_bin đối chiếu

Cách thứ hai như sau. Hãy để chúng tôi tạo một bảng mới -

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 có kiểu dữ liệu varchar (128) và chỉ mục (index_on_UserId) trên cột ‘UserId’.

Cả hai phương pháp trên đều đạt được tính duy nhất có phân biệt chữ hoa chữ thường và tìm kiếm không phân biệt chữ hoa chữ thường trong MySQL.