проблема с duplicate unique при смене кодировки

Фанат

oncle terrible
Команда форума
А с дублями в уникальном ключе при смене кодировки?
 

svetasmirnova

маленький монстрик
> А с дублями в уникальном ключе при смене кодировки?

В презентации у себя не нашла, а примерчик можно:

PHP:
mysql> create table t1(f1 char(25), unique(f1)) default character set='cp1251';
Query OK, 0 rows affected (0.07 sec)

mysql>  insert into t1 values('е');
Query OK, 1 row affected (0.19 sec)

mysql> insert into t1 values('ё');
Query OK, 1 row affected (0.09 sec)

mysql> select * from t1;
+------+
| f1   |
+------+
| е   | 
| ё   | 
+------+
2 rows in set (0.01 sec)

mysql> alter table t1 convert to character set utf8;
ERROR 1062 (23000): Duplicate entry 'ё' for key 1
 

Фанат

oncle terrible
Команда форума
ну, дык. об этом и речь. а решение?
кажется, я понял - надо это поле сделать бинарным. верно?
 

Фанат

oncle terrible
Команда форума
Не, ну тут фишка в том, что бинарным должно быть только одно это поле. Все равно ж уникальное. или нет...
если, скажем, это юзернейм, то поиском искать по нему желательно без учета регистера...
мда, задачко.
 

Фанат

oncle terrible
Команда форума
Мне стало стыдно, что я засоряю тему про отзывы и решил разделить.

Ну, я, на самом деле, написал сразу два вопроса в одном предложении.
Первое - это что конвертируем не всю таблицу, ка у тебя, а нам надо ведь только одно поле.
А второе - что мое предложение не подойдет, наверное.
 
Сверху