Я пытаюсь искать записи, используя буквенно-цифровой столбец "short_code".Примерно так:
SELECT * FROM items WHERE short_code = "1AV9"
Без сортировки и с типом столбца, установленным на varchar (), этот запрос нечувствителен к регистру, поэтому он возвращает записи с короткими кодами 1av9, 1Av9 и т. Д. Я не хочу этого.
Итак, я попытался изменить параметры сортировки столбца short_code на utf8_bin
, но теперь запрос вообще ничего не возвращает.Однако, если я изменю запрос на:
SELECT * FROM items WHERE short_code LIKE "1AV9%"
, тогда я получу именно ту строку, которую хочу.Возможно ли, что, преобразуя сопоставление моей колонки, она каким-то образом добавила невидимые символы в конце всех моих коротких кодов?Как я могу проверить / исправить это?
EDIT : похоже, что, изменив тип моего столбца на binary
и попробовав кучу других вещей, он каким-то образом дополнил все мои short_codes нулямибайты, что объясняет, почему запрос не вернул никакого результата.После запуска и установки параметров сортировки utf8_bin
все работает как положено.