Я не думаю, что то, что вы хотите, напрямую возможно.Сортировка определяет способ сортировки и сравнения вашей даты.Для вашего ключа вы хотите, чтобы два значения были видны как разные, но при обычном сравнении вы хотите, чтобы они были видны как одинаковые.
Однако при задании ваших запросов есть хитрость:результаты в utf8 без указания параметров сортировки.Это приведёт к результату и вернет параметры сортировки по умолчанию.
В следующем примере показано, что я имею в виду:
mysql> show create table test_col;
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| test_col | CREATE TABLE `test_col` (
`name` varchar(200) COLLATE utf8_bin DEFAULT NULL,
UNIQUE KEY `ixuniq` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin |
+----------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> insert into test_col (name) values ('Y'),(unhex('c39d'));Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from test_col;
+------+
| name |
+------+
| Y |
| Ý |
+------+
2 rows in set (0.00 sec)
mysql> select * from test_col where name='Y';
+------+
| name |
+------+
| Y |
+------+
1 row in set (0.00 sec)
mysql> select * from test_col where convert(name using 'utf8')='y';+------+
| name |
+------+
| Y |
| Ý |
+------+
2 rows in set (0.00 sec)