Янв 20

Дело было так:

Звонит пользователь и жалуется что сортировка вывода данных из MySQL неправильная, т.е. не по алфавиту.

Полез в php скрипты и вытащил запрос который так криво работал,  примечательно что в order by стояло поле по которому нужно было сортировать по алфавиту, вобщем вытащил sql запрос и запустил его в утилите SQLyog. Запрос выдал данные но сортировка по указанному в order by  полю не была адекватной.

Полез в свойства таблицы все тем же SQLyog, командой alter_table, смотрю, а на Collation установлено latin1_swedish_ci – вот почему не по русски сортировка! Меняю ее на cp1251_general_ci, жму кнопочку Alter_Table, радуюсь что быстро отделался. Но …

Не тут то было данные в поле испортились, каждая русская буква превратилась в знак вопроса, замена свойства Collation положения не исправило.

#$%^&*

Итого, т.к. данных для восстановления не было пришлось восстанавливать данные руками – 2 дня 3 человека, хотя нет вру не 3 человека, остальные 4 человека работали от 3 часа – 8 часов.

Почему такое произошло, я имею ввиду конвертацию в вопросики непонятно, я делал это не один раз на разных серверах – ничего подобного не происходило.

ЗЫ. чето дневник у меня получается о глюках MySQL

автор: \\ теги: ,

Один отзыв на «Как я испортил данные таблицы MySQL (сконвертировал русские буквы в вопросики)»

  1. PPP пишет:

    order by binary(поле) asc
    мне помогло с сортировкой по алфавиту. Попробуйте

Оставьте свой отзыв

*

code