Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
4-91587
TankMan
2003-01-22 10:07
2003.04.28
Хук на Api


7-91574
Rammst
2003-03-10 09:01
2003.04.28
CD-ROM


3-91230
mikl2002
2003-04-10 13:31
2003.04.28
InterBase + Linux + FIBPlus


3-91206
Pk
2003-04-10 10:38
2003.04.28
Сохранение текстовых полей с длиной больше 255


1-91361
Delphinium
2003-04-16 08:42
2003.04.28
Обновление под Delphi 5





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский