Форум: "Базы";
Текущий архив: 2003.04.28;
Скачать: [xml.tar.bz2];
ВнизНеверный результат выполнения запроса Найти похожие ветки
← →
pasha_golub (2003-04-09 18:18) [0]БД: MySQL 4.0.12 под Win98
Запрос: select m_subject from main where m_subject like "%ваз%"
Результат:
ВАЗ-2108 90г.в., 1,5л, КПП 5-ступ., длин. крыло, цв. серо-гол. - 2450у.е.;
М-2140 83г.в., газ. устан. - 450у.е.;
...
Блин, но записи с М-2140 не должно выдавать, а таких еще там куча
:-(
← →
Johnmen (2003-04-09 21:46) [1]Ни хрена себе какие у вас цены на подержанные тачанки !!!
:)))))))))))))))
Странно, что и восьмерку выдает !
← →
Rol (2003-04-10 07:23) [2]Ну и всё верно - он нашёл буквы в, а, з в оговоренной Вами последовательности. Не результаты неверные, а запрос. :)
← →
NAlexey (2003-04-10 10:37) [3]>Ну и всё верно - он нашёл буквы в, а, з в оговоренной Вами последовательности. Не результаты неверные, а запрос. :)
Не буду категорично утверждать, но если синтаксис MySQL похож на MSSQL то не должно такого быть. Попробуй результат должен возвращать строки где встречается именно "ваз". Попробуй сделать такой запрос:select LTrim(RTrim(m_subject)) from main where m_subject like "%ваз%"
может поможет.
← →
fidget (2003-04-10 12:42) [4]pasha_golub, локаль настрой.
default-character-set
← →
pasha_golub (2003-04-10 12:48) [5]>fidget
Поподробней, плз, а то я как-то этим еще не сталкивался. Но мне кажется, дело именно в этом...
← →
pasha_golub (2003-04-10 12:55) [6]>Rol
Абсолютно не правильно. Синтаксис LIKE стандартизирован был еще наверное, когда лежа писался. Так что не должно быть этого...
Ваше замечание правильно для запроса вида ... like "%в%а%з%" :-)
>NAlexey
Не понимаю, что это изменит. Но все равно попробовал - результат тот же самый :-(
>Johnmen
Это ж Украина, при том не крупный город, но если б ты у нас цены на жилье видел :-))
← →
Johnmen (2003-04-10 13:00) [7]По сути вопроса :
Приведенный запрос корректен. Если выкидывает то, что приведено, то м.б. не приведен реальный запрос :)
И нужны подробности...
← →
pasha_golub (2003-04-10 13:05) [8]Ага, ну да, это я так, херней страдаю :-)
Повторяю:
select m_subject from main where m_subject like "%ваз%"
Результат:
select m_subject from main where m_subject like "%ваз%"
m_subject
ВАЗ-2108 90г.в., 1,5л, КПП 5-ступ., длин. крыло, цв. серо-гол. - 2450у.е.
М-2140 83г.в., газ. устан. - 450у.е.
"Опель-Омега" 87г.в., газ-бензин, эл.стекла и зерк., г/у - 2500у.е., или обм.
ВАЗ-21013 85г.в., цв. "рубин", кузов с консерв. - 1300у.е.
ГАЗ-31029 94г.в., в хор. сост.
ВАЗ-2105, цв. бел., 1,5л, КПП 5-ступ., пробег 50тыс.км
ВАЗ-21099 93г.в., из Германии 3.07.2001г, отл. сост.
ВАЗ-21043 92г.в., идеальн. сост.
ГАЗель 99г.в., борт., метан
ВАЗ-21063 92г.в., цв. бел., 1,3л - 1700у.е.
"Фольксваген-Гольф", 90г.в., Mul-T-Lock, ц/з, газ. установка, тит. диски
ВАЗ-2102 84г.в., в отл. состоянии
ВАЗ-2101 81г.в., в отл. сост. - 1200у.е., торг уместен или обм.
и т.д.
← →
pasha_golub (2003-04-10 13:11) [9]Переменной default_character_set не обнаружил.
Вместо нее нашел такие
character_set = latin1
chracter_sets = много всяких локалей :-))
← →
fidget (2003-04-10 13:13) [10]у тебя кодировка установленная на сервере и кодировка в которой хранятся данные отличаются, потому у тебя будет хровать не только поиск, но и сортировка.
указываешь в my.cnf
[mysql]
default-character-set=koi8_ru[или win1251]
в зависимости от того в какой кодировке данные в базе.
возможно придется перестроить индексы запустив
myisamchk -rq --set-character-set=charset
← →
Johnmen (2003-04-10 13:13) [11]А какие не попали в выборку ? Пример...
← →
pasha_golub (2003-04-10 13:20) [12]>Johnmen
Да много их, я думаю fidget нащупал откуда ноги растут :-))
← →
pasha_golub (2003-04-10 13:57) [13]Спасибо, всем. Совет fidgeta помог.
>fidget
У меня таблицы InnoDB, мне пользоваться myisamchk или чем другим?
← →
Johnmen (2003-04-10 14:07) [14]>...fidget нащупал
Правильней нащупал а :)
Ведь это же дивчина !
;^))))))))
← →
fidget (2003-04-10 14:09) [15]> У меня таблицы InnoDB, мне пользоваться myisamchk или чем другим?
для InnoDB подобных утилиток пока нет ;(
если нужно перестроить индексы, тогда дамп таблицы, прибить ее и восстановить.
Или перевести ее в MyISAM, сделать все что надо, а затем в InnoDB снова.
← →
Rol (2003-04-10 14:39) [16]>pasha_golub
А зачем нужен CONTAINING?
← →
pasha_golub (2003-04-10 18:32) [17]>Rol
НЕ ЗНАЮ! :-(
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.04.28;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c