Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.28;
Скачать: CL | DM;

Вниз

Неверный результат выполнения запроса   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.024 c
9-91135
drhdh
2002-11-17 18:05
2003.04.28
RPG


3-91212
Andrews
2003-04-10 12:57
2003.04.28
DBGrid и колесо мыши


4-91584
Diamond Cat
2003-02-28 03:45
2003.04.28
Ресурсы


1-91360
Giemgo
2003-04-13 13:07
2003.04.28
Что делает Halt?


14-91530
slex
2003-04-10 17:02
2003.04.28
Exception