|
Модераторы: skyboy |
|
Poveritov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 25.2.2015 Репутация: нет Всего: нет |
есть запрос типа
select * from userget WHERE ( MATCH(SUBSTRING_INDEX(userget.uname, " ", -1)) AGAINST ('...текст...' IN BOOLEAN MODE) ) AND ( MATCH(SUBSTRING_INDEX(userget.uname, " ", -1)) AGAINST ('...текст...' IN BOOLEAN MODE) ) userget.uname = 'Имя Фамилия', нужно сначала проверить есть такое имя в тексте, а потом фамилия. Ругается на использование SUBSTRING_INDEX в Match пробовал задать параметры в select @name1 := SUBSTRING_INDEX(userget.uname, " ", -1), @name2 := SUBSTRING_INDEX(userget.uname, " ", 1) from и подставить в match(@name1) но не помогло. Подскажите как решить данную проблему? |
|||
|
||||
Akina |
|
|||
Советчик Профиль Группа: Модератор Сообщений: 20570 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 106 Всего: 453 |
У тебя всё наоборот - ты ищешь текст в фамилии...
Добавлено через 2 минуты и 45 секунд И потом - MATCH .. AGAINST - это поиск по полнотекстовому индексу. То есть поиск нужного фрагмента в заранее проиндексированных полях. А не в текстовых литералах или выражениях. Для поиска литерала в поле или значения поля в литерале используй LOCATE (или INSTR). При необходимости указывай требуемый COLLATION. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Poveritov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 34 Регистрация: 25.2.2015 Репутация: нет Всего: нет |
||||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 3 Всего: 16 |
Так выбери всех подозрительных через быстрый MATCH, а заодно отфильтруй их правильным INSTR.
Не, ну то есть правильным, конечно, будет нормализовать немного базу, и положыть имя и фамилию в поля имя и фамилию. Собственно, дажэ безо всяких не -- именно это будет единственно правильным. |
|||
|
||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |