![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Неверный результат выполнения запроса [D6, MySQL]
pasha_golub © (2003-04-09 18:18:00)БД:MySQL 4.0.12 под Win98
Запрос:select m_subject from main where m_subject like "%ваз%"
Результат:
ВАЗ-2108 90г.в., 1,5л, КПП 5-ступ., длин. крыло, цв. серо-гол. - 2450у.е.;
М-2140 83г.в., газ. устан. - 450у.е.;
...
Блин, но записи с М-2140 не должно выдавать, а таких еще там куча
:-(
pasha_golub (2003-04-10 18:32:00) [1]>Rol
НЕ ЗНАЮ! :-(
Rol (2003-04-10 14:39:00) [2]>pasha_golub
А зачем нужен CONTAINING?
fidget (2003-04-10 14:09:00) [3]> У меня таблицы InnoDB, мне пользоваться myisamchk или чем другим?
для InnoDB подобных утилиток пока нет ;(
если нужно перестроить индексы, тогда дамп таблицы, прибить ее и восстановить.
Или перевести ее в MyISAM, сделать все что надо, а затем в InnoDB снова.
Johnmen (2003-04-10 14:07:00) [4]>...fidget нащупал
Правильней нащупал а:)
Ведь это же дивчина !
;^))))))))
pasha_golub (2003-04-10 13:57:00) [5]Спасибо, всем. Совет fidgeta помог.
>fidget
У меня таблицы InnoDB, мне пользоваться myisamchk или чем другим?
pasha_golub (2003-04-10 13:20:00) [6]>Johnmen
Да много их, я думаю fidget нащупал откуда ноги растут :-))
Johnmen (2003-04-10 13:13:00) [7]А какие не попали в выборку ? Пример...
fidget (2003-04-10 13:13:00) [8]у тебя кодировка установленная на сервере и кодировка в которой хранятся данные отличаются, потому у тебя будет хровать не только поиск, но и сортировка.
указываешь в my.cnf
[mysql]
default-character-set=koi8_ru[или win1251]
в зависимости от того в какой кодировке данные в базе.
возможно придется перестроить индексы запустив
myisamchk -rq --set-character-set=charset
pasha_golub (2003-04-10 13:11:00) [9]Переменной default_character_set не обнаружил.
Вместо нее нашел такие
character_set = latin1
chracter_sets = много всяких локалей :-))
pasha_golub (2003-04-10 13:05:00) [10]Ага, ну да, это я так, херней страдаю :-)
Повторяю:
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у.е., торг уместен или обм.
и т.д.
Johnmen (2003-04-10 13:00:00) [11]По сути вопроса :
Приведенный запрос корректен. Если выкидывает то, что приведено, то м.б. не приведен реальный запрос :)
И нужны подробности...
pasha_golub (2003-04-10 12:55:00) [12]>Rol
Абсолютно не правильно. Синтаксис LIKE стандартизирован был еще наверное, когда лежа писался. Так что не должно быть этого...
Ваше замечание правильно для запроса вида ... like "%в%а%з%" :-)
>NAlexey
Не понимаю, что это изменит. Но все равно попробовал - результат тот же самый :-(
>Johnmen
Это ж Украина, при том не крупный город, но если б ты у нас цены на жилье видел :-))
pasha_golub (2003-04-10 12:48:00) [13]>fidget
Поподробней, плз, а то я как-то этим еще не сталкивался. Но мне кажется, дело именно в этом...
fidget (2003-04-10 12:42:00) [14]pasha_golub, локаль настрой.
default-character-set
NAlexey (2003-04-10 10:37:00) [15]>Ну и всё верно - он нашёл буквы в, а, з в оговоренной Вами последовательности. Не результаты неверные, а запрос. :)
Не буду категорично утверждать, но если синтаксис MySQL похож на MSSQL то не должно такого быть. Попробуй результат должен возвращать строки где встречается именно "ваз". Попробуй сделать такой запрос:select LTrim(RTrim(m_subject)) from main where m_subject like "%ваз%"может поможет.
Rol (2003-04-10 07:23:00) [16]Ну и всё верно - он нашёл буквы в, а, з в оговоренной Вами последовательности. Не результаты неверные, а запрос. :)
Johnmen (2003-04-09 21:46:00) [17]Ни хрена себе какие у вас цены на подержанные тачанки !!!
:)))))))))))))))
Странно, что и восьмерку выдает !