#mysql
#mysql
Вопрос:
Этот запрос MySQL
SELECT id FROM product WHERE title LIKE '%spoon%'
отлично работает в MySQL на компьютере № 1 и возвращает все продукты с spoon
в любом месте строки заголовка
('black spoon', 'teaspoon', 'red spoons')
Некоторое время назад я перенес все это на машину # 2, но точно такой же запрос возвращает разное количество результатов, и по какой-то причине он возвращает только продукты со словом teaspoons
в названии (без, например. black spoon
среди результатов)
Оба сервера MySQL имеют версию 5.0.51a. Эта конкретная таблица product абсолютно одинакова на обеих машинах со всеми полями одинакового типа, длины и т.д.
Есть идеи?
Комментарии:
1. Звучит странно. Точно ли ваши данные соответствуют заданному вопросу (например, без различий в регистре)?
2. Это то же самое — структура и данные. Он был экспортирован из одной базы данных и импортирован в новую с помощью phpmyadmin. Все остальные аспекты и запросы всего веб-сайта в порядке. Просто это ПОХОЖЕ на то, что работает странно
3. Обе таблицы имеют один и тот же db-engine (Innodb, MyISAM, …)? Каков результат
show variables like "%character%";
?4. Спасибо Ocaso. Параметры сортировки в таблице на самом деле отличались (utf8, где у старого был latin1). Хотя мне интересно. Как это работает на уровне mysql, который utf8 не распознает как %spoon% search правильно?
Ответ №1:
вы проверяете, одинаковы ли ваши кодировки в обеих базах данных?
Ответ №2:
Я уверен, что проблема не в ядре базы данных (возможно, вы захотите проверить это (Inno и т.д.)) Или что-то в этом роде. Проверьте файлы конфигурации вашего подключения. Возможно, вы подключаетесь к другой базе данных.