Имя:    Пароль:      Помнить меня       
Unsorted   ~  Software  ~  Development and Design  ~  Помощь по MySQL
На страницу 1, 2, 3  »
Svetic
Сообщение  05 Май 2008, 21:50  Ссылка : Ответить с цитатой
Возраст: 39 Пол: Женский 
C нами с 01.10.2006
Репутация: 274.9

Подскажите, пожалуйста, как в MySQL сделать запрос выборки нечувствительным к регистру. К примеру, у меня есть запрос:
SELECT producerID FROM producers WHERE name_producer = "производитель"
Мне нужно, чтобы в базе данных отыскались записи с именем как "производитель", так и "ПРОИЗВОДИТЕЛЬ", а также "Производитель".
Заранее спасибо!

_____________________________
Написать неработающую программу легче, чем разобраться в работающей
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение
MinDeR
Сообщение  05 Май 2008, 21:58  Ссылка : Ответить с цитатой
Возраст: 36 Пол: Мужской 
C нами с 08.01.2006
Репутация: 128.1

Может быть стоит воспользоваться регулярками? Или я слышал о такой вещи как LIKE...погуглите Улыбочка

_____________________________
Unsort Yourself нафиг
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : Сайт : ICQ
Svetic
Сообщение  05 Май 2008, 22:00  Ссылка : Ответить с цитатой
Возраст: 39 Пол: Женский 
C нами с 01.10.2006
Репутация: 274.9

Я бы погуглила, но у меня интернет помер сейчас - ну совершенно не вовремя, поэтому обратилась за советом на форум в локальной сети.
LIKE вместо "=" не помогает, возможно, к LIKE нужно что-то дописать, а что - я не знаю Грустно

_____________________________
Написать неработающую программу легче, чем разобраться в работающей
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение
chaser
Сообщение  05 Май 2008, 22:10  Ссылка : Ответить с цитатой
Возраст: 35 Пол: Мужской 
C нами с 04.02.2005
Репутация: 121.3

... WHERE LOWER(name_producer) = "производитель". Только не уверен, что будет работать с русскими буквами.

А еще можно отдельное поле в базе сделать, и в него складывать, например, варианты, состоящие только из строчных букв — select должен в этом случае работать быстрее.
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : JabberID
Svetic
Сообщение  05 Май 2008, 22:26  Ссылка : Ответить с цитатой
Возраст: 39 Пол: Женский 
C нами с 01.10.2006
Репутация: 274.9

chaser писал(а):
... WHERE LOWER(name_producer) = "производитель".

Большое спасибо, помогло!

_____________________________
Написать неработающую программу легче, чем разобраться в работающей
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение
Svetic
Сообщение  23 Июл 2008, 13:14  Ссылка : Ответить с цитатой
Возраст: 39 Пол: Женский 
C нами с 01.10.2006
Репутация: 274.9

Помогите, пожалуйста, с разрешением следующей проблемы.
Выгружаю русскоязычные данные из базы MySQL командой:


$out = mysql_query("SELECT IDpos, name_pos INTO OUTFILE 'result.txt' FROM `position`");


Далее файл 'result.txt' пытаюсь загрузить в базу:


$in = mysql_query("LOAD DATA INFILE 'result.txt' REPLACE INTO TABLE `position`");


После загрузки русскоязычные данные отображаются знаками вопроса. Подскажите, пожалуйста, что необходимо сделать, что данные "пришли" в базу в нужной (читаемой) кодировке?

Добавлено спустя 50 минут 1 секунду:

Проблему решила. После строки коннекта к базе данных указала следующее:

mysql_query ("set character_set_database='cp1251'"); 


Сработало!

_____________________________
Написать неработающую программу легче, чем разобраться в работающей
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение
dimitri
Сообщение  23 Июл 2008, 14:55  Ссылка : Ответить с цитатой
Возраст: 56 Пол: Мужской 
C нами с 19.09.2007
Репутация: 144

Svetic писал(а):
chaser писал(а):
... WHERE LOWER(name_producer) = "производитель".

Большое спасибо, помогло!


Я ораклист, но наверное мои замечания и для mySql подойдут:

Обычно делают WHERE UPPER(name_producer) = UPPER(переменная).
Почему UPPER а не LOWER не знаю, так исторически сложилось...
Но этот способ очень медленный из-за того, что из-за функции не применяются индексы. Запрос перелопачивает всю таблицу по порядку. Если она большая - времени сьедается много.
Для этого действительно, как говорилось раньше делают дополнительное поле в таблице(upper_name_producer), куда заранее складывают UPPER значение name_producer-a при создании записи. После чего делают дополнительный индекс по этому полю.
Запрос получается WHERE upper_name_producer=UPPER(переменная).
Теперь индексы работают и в десятки раз уменьшают время поиска...
Кстати, в зависимости от БД, и это не срабатывает.Тогда потребуется где-нибудь раньше преобразовать переменную в верхний регистр и только потом потставлять.
Теперь уж точно заработает.
В начало
Профиль : Фотоальбом : Личное Сообщение
k2
Сообщение  01 Авг 2008, 19:47  Ссылка : Ответить с цитатой
Возраст: 33 Пол: Мужской 
C нами с 20.11.2006
Репутация: 106

Господа помогите пожалуйста, у меня имеется html скрипт в связке с css и js может мне ктонибудь помочь связать это дело с MySql что бы пользователи оставившие голоса больше не могли голосовать.

P.s. помогите пожалуйста. +1 с меня





123.zip - 2.75 Kб
Скачиваний: 18

В начало
Профиль : Фотоальбом : Блог : Личное Сообщение
Reflection
Сообщение  01 Авг 2008, 21:19  Ссылка : Ответить с цитатой
Возраст: 99 Пол: Мужской 
C нами с 09.06.2007
Репутация: 245

хмм... разве это возможно??? ява выполняется на пк-клиенте, а не на сервере. тут, например, без пхп не обойтись. либо посылать из js в пхп, а пхп уже в Mysql. чтобы не могли голосовать, а кукисы тебе для этого дела не подходят?
тут варианты
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail
Dreamer
Сообщение  01 Авг 2008, 21:34  Ссылка : Ответить с цитатой
Возраст: 43 Пол: Мужской 
C нами с 07.02.2005
Репутация: 122.9

Цитата:
либо посылать из js в пхп, а пхп уже в Mysql

Это называется модным ныне словом AJAX. Подойдет тут любая серверная технология а не только php.
k2 а чем вам не нравится идея показать проголосовавшим результаты самого голосования? Тогда изначально страница придет другая и проблема отпадет сама собой

_____________________________
Chi wa mizu yori mo koshi
В начало
Профиль : Блог : Личное Сообщение
Reflection
Сообщение  01 Авг 2008, 21:39  Ссылка : Ответить с цитатой
Возраст: 99 Пол: Мужской 
C нами с 09.06.2007
Репутация: 245

Dreamer писал(а):
AJAX

Знаю что оно есть, но не интересовался, не знаком =(

Dreamer писал(а):
Подойдет тут любая серверная технология а не только php.

я ж написал "например" Подмигивание хотя правильней было конечно "любая серверная технология"
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail
Dreamer
Сообщение  01 Авг 2008, 21:42  Ссылка : Ответить с цитатой
Возраст: 43 Пол: Мужской 
C нами с 07.02.2005
Репутация: 122.9

Reflection, AJAX это суть JavaScript с немного другим подходом к написанию скриптов. Ничего сложного там нету. Кстати в ASP.NET даже проще чем в php будет)

_____________________________
Chi wa mizu yori mo koshi
В начало
Профиль : Блог : Личное Сообщение
Reflection
Сообщение  02 Сен 2008, 13:48  Ссылка : Ответить с цитатой
Возраст: 99 Пол: Мужской 
C нами с 09.06.2007
Репутация: 245

А кто-нибудь пробовал подключить базу в ibexpert ?
Там вроде можно подключать MySQL но толи я что-то не то вписываю в настройки , толи хз чего. вобще показывает ошибку.
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail
xaxaTyH
Сообщение  26 Янв 2009, 0:51  Ссылка : Ответить с цитатой
Возраст: 36 Пол: Мужской 
C нами с 23.10.2005
Репутация: 38.9

Вот и мое время пришло просить помощи.
Вырезал из запроса простецкую вещь:

Запрос
SELECT * FROM `users_groups` WHERE `userg_id` IN (REPLACE(TRIM(' 1 2 3 4 5 '), ' ', ','));

Выбирает только первую запись с `userg_id` = 1

Хотя
SELECT REPLACE(TRIM(' 1 2 3 4 5 '), ' ', ',');
отдает
1,2,3,4,5


Помогите пожалуйста выбрать все строчки Улыбочка.
В начало
Профиль : Фотоальбом : Личное Сообщение : E-mail
Reflection
Сообщение  31 Янв 2009, 20:36  Ссылка : Ответить с цитатой
Возраст: 99 Пол: Мужской 
C нами с 09.06.2007
Репутация: 245

Наверно он понимает что "1" это число ,а все остальное (,2,3,4,5)текст. О_о Чет странно.
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail
Показать сообщения:   
На страницу 1, 2, 3  »

Unsorted   ~  Software  ~  Development and Design  ~  Помощь по MySQL

Ответить на тему

Перейти:  





Powered by phpBB   © Unsorted Team  support@unsorted.me  promo@unsorted.me  Полезные скрипты