Индекс Mysql для игнорирования пробелов и капитализации? - PullRequest
0 голосов
/ 09 марта 2012

У меня есть уникальный индекс в текстовом поле, и мне было интересно, если так или иначе есть, я могу сказать ему игнорировать регистр и лишние пробелы.Я делаю некоторую предварительную обработку, чтобы нормализовать данные перед вставкой, но я все же хотел бы, чтобы эти два

"This is  the title of  My data"
"this is the title of my data"

считались одинаковыми и учитывали только один из них.Если есть способ сделать это на уровне индекса, то это было бы замечательно, но если нет, то, я думаю, я могу попытаться сделать предварительную обработку более строгой, чтобы нормализовать все входящие данные.У меня есть куча старых данных, которые нужно будет снова пройти через любую нормализацию, иначе я буду продолжать получать дубликаты записей, поэтому я бы предпочел какой-либо способ исправить это на уровне индекса MySQL.Что бы вы предложили?

Ответы [ 2 ]

0 голосов
/ 09 марта 2012

Регистр символов стал настолько сложным с таким количеством языков.Если вам нужно сохранить в точности то, что было напечатано, создайте два столбца с набранным текстом и нормализованным текстом ... как в обрезанном, lcase и т. Д. Выполните поиск в нормализованном столбце, отобразив столбец пользователя

0 голосов
/ 09 марта 2012

вздох, вычисленные индексы .. еще не в mySQL.Преобразование в помощь случая, например.LCASE (searchItem)

.. и, возможно, UPDATE myTABLE установите myFIELD в LCASE (myFIELD)

...