Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: MySQL проблемы с запросами...  (Прочитано 875 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sander-007

  • Автор темы
  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
MySQL проблемы с запросами...
« : 26 Июля 2012, 16:45:06 »
Доброго времени суток. Модераторы если не туда запостил просьба сильно не пинать.

Проблема вот в чем, стоит MySQL сервер все в принципе работает нормально но запросы SELECT отрабатываются одинаково что и с "=" что и с "LIKE", т.е. SELECT tab_person.P1 FROM tab_person WHERE tab_person.P1 = 'ИВАНИН' возвращает значения словно я делаю запрос с LIKE. Изначально на свежеустановленном сервере кодировки по умолчанию я не менял. Затем поменял на UTF8, картина не изменилась. Перезалил заново таблицу на сервер все равно работает только таким способом. Помогите решить проблему.

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: MySQL проблемы с запросами...
« Ответ #1 : 27 Июля 2012, 19:55:20 »
напиши полностью оба запроса(с = и с like) как ты их запрашиваешь

Оффлайн sander-007

  • Автор темы
  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
Re: MySQL проблемы с запросами...
« Ответ #2 : 28 Июля 2012, 17:25:40 »
1. SELECT tab_person.P1 FROM tab_person WHERE tab_peron.P1 = 'ИВАНИН'
2. SELECT tab_person.P1 FROM tab_person WHERE tab_peron.P1 LIKE 'ИВАНИН'

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: MySQL проблемы с запросами...
« Ответ #3 : 30 Июля 2012, 16:33:55 »
ну все правильно , как просишь, так и показывает. "проблем с запросами"  - нет , есть проблемы с пониманием SQL, учи матчасть,  и кодировка тут не причем.

Оффлайн volgautc

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Re: MySQL проблемы с запросами...
« Ответ #4 : 30 Июля 2012, 16:37:56 »
SELECT tab_person.P1 FROM tab_person WHERE tab_peron.P1 LIKE 'ИВАН%'
С первым так не сработает

Оффлайн sander-007

  • Автор темы
  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
Re: MySQL проблемы с запросами...
« Ответ #5 : 31 Июля 2012, 11:14:55 »
Вы знаете я сейчас перепроверил оба варианта, они работают абсолютно одинаково. Вот что у меня получается в итоге

1. ИВАНИН
2. ИВАНИН
3. ИВАНКО
4. ИВАНКО
5. ИВАНИН

Был бы очень благодарен если бы Вы указали мне на ошибочность синтаксиса запроса, сам найти не смог.

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: MySQL проблемы с запросами...
« Ответ #6 : 31 Июля 2012, 13:04:09 »
Оба варианта — каких. Показывай запросы, о которых пишешь, запрос — результат, прямо копипастом из терминала или где там у тебя.

Попробуй прямо из консольки mysql позапрашивать. Результаты покажи.

Ещё вот так попробуй:
mysql> SELECT 'ИВАНИН' LIKE 'ИВАН%';
+---------------------------------+
| 'ИВАНИН' LIKE 'ИВАН%'           |
+---------------------------------+
|                               1 |
+---------------------------------+
1 row in set (0.04 sec)

mysql> SELECT 'ИВАНИН' = 'ИВАН%';
+------------------------------+
| 'ИВАНИН' = 'ИВАН%'           |
+------------------------------+
|                            0 |
+------------------------------+
1 row in set (0.02 sec)

Оффлайн sander-007

  • Автор темы
  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
Re: MySQL проблемы с запросами...
« Ответ #7 : 01 Августа 2012, 13:11:09 »
Делаю твои запросы результат как у тебя, пытаюсь сделать свою выборку то вот что в ответ:

mysql> SELECT * FROM OSEN2011 WHERE P1 = 'ИВАНИН';
ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
mysql>

Уже давно поменял кодировку сервера на utf8 создал новую базу, залил заново таблицу и все равно такая ерунда.

Оффлайн Дмитрий Бо

  • Погонщик серверов
  • Модератор раздела
  • Старожил
  • *
  • Сообщений: 3549
  • Я не техподдержка, я за порядком слежу
    • Просмотр профиля
Re: MySQL проблемы с запросами...
« Ответ #8 : 01 Августа 2012, 14:06:12 »
Уже давно поменял кодировку сервера на utf8
Это как?
Там кодировку много где поменять.

Оффлайн volgautc

  • Активист
  • *
  • Сообщений: 537
    • Просмотр профиля
Re: MySQL проблемы с запросами...
« Ответ #9 : 01 Августа 2012, 14:28:32 »
Я вон сколько менял, чтоб юникод был по дефолту
(Нажмите, чтобы показать/скрыть)
Только после этих изменений затыки с кодировками прекратились.

Оффлайн sander-007

  • Автор темы
  • Любитель
  • *
  • Сообщений: 69
    • Просмотр профиля
Re: MySQL проблемы с запросами...
« Ответ #10 : 01 Августа 2012, 18:19:07 »
Вот что у меня выдает по кодировкам:

mysql> show variables like 'character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

mysql>

 

Страница сгенерирована за 0.046 секунд. Запросов: 26.