Ну, есть 2 способа сделать это:
- с использованием _bin collation
- изменить тип данных на VARBINARY
Случай 1: использование _bin collation
Создайте свою таблицу следующим образом:
CREATE TABLE `dictionary` (
`a` VARCHAR(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
UNIQUE KEY `idx_un_a` (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Обратите внимание:
- тип данных столбца
a
- УНИКАЛЬНЫЙ указатель на столбец
a
Случай 2: использование VARBINARY типа данных
Создайте свою таблицу следующим образом:
CREATE TABLE `dictionary` (
`a` VARBINARY(128) NOT NULL,
UNIQUE KEY `idx_uniq_a` (`a`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
Обратите внимание:
- новый тип данных VARBINARY
- УНИКАЛЬНЫЙ указатель по столбцу
a
Итак, оба вышеперечисленных решения вашей цели. Таким образом, они оба позволят значения, такие как 'abc', 'Abc', 'ABC', 'aBc' и т. Д., Но не разрешат одно и то же значение снова, если регистр совпадает.
Обратите внимание, что задание параметров сортировки "_bin" отличается от использования двоичного типа данных. Поэтому, пожалуйста, не стесняйтесь ссылаться на следующие ссылки:
- Двоичные и варварские типы данных
- _bin и двоичные параметры сортировки
Надеюсь, вышеизложенное поможет!