поиск по полю SET

Vadimka

Новичок
поиск по полю SET

Тип поля SET
Значение '1','2','3','4','5','6','7','8','9','10','11','12','13','14'

как осуществить выбор строк кроме значения 1 ?

-~{}~ 30.08.05 21:12:

FIND_IN_SET почемуто выбирает поля без 1, но с 10 или 11 или 12 .....
 

Vadimka

Новичок
FIND_IN_SET вообще не находит строк (а они есть)
а NOT FIND_IN_SET находит все строки в том числе и 10,11.12....

вот запрос
SELECT id FROM user WHERE 1 AND NOT FIND_IN_SET(1,'relax') ORDER BY 1 DESC LIMIT 0, 30
 

alpine

Новичок
Vadimka
А нужно так:
[sql]
SELECT id FROM user WHERE NOT FIND_IN_SET('1','relax')
[/sql]
 

Vadimka

Новичок
ну я так и делаю... а результат все тот же...

mysql> SELECT relax
-> FROM interes
-> WHERE 1
-> AND NOT FIND_IN_SET( '1', 'relax' )
-> ORDER BY 1 DESC
-> LIMIT 0 , 30;
+--------------------------------+
| relax |
+--------------------------------+
| 2,3,4,5,6,7,8,9,10,11,12,13,14 |
| 10,11,14 |
| 1,8,10 |
| 8,10 |
+--------------------------------+
4 rows in set (0.00 sec)

-~{}~ 30.08.05 22:36:

mysql> SELECT relax FROM interes WHERE FIND_IN_SET( '1', 'relax' );
Empty set (0.01 sec)
 

alpine

Новичок
Vadimka
У меня все нормально работает mySQL 4.0.18.
Покажи плз.
1) SELECT VERSION();
2) SHOW COLUMNS FROM interes;
 

Vadimka

Новичок
mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 4.1.13 |
+-----------+
1 row in set (0.00 sec)


mysql> SHOW COLUMNS FROM interes;
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+-------+
| id | int(11) | | MUL | 0 | |
| animal | set('1','2','3','4','5','6','7','8') | | MUL | | |
| kinotv | set('1','2','3','4','5','6') | | MUL | | |
| comp | set('1','2','3','4','5','6','7','8') | | MUL | | |
| mobi | set('1','2','3','4') | | MUL | | |
| musik | set('1','2','3','4','5','6','7') | | MUL | | |
| relax | set('1','2','3','4','5','6','7','8','9','10','11','12','13','14') | | MUL | | |
| sex | set('1','2','3','4','5','6') | | MUL | | |
| sport | set('1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31','32') | | MUL | | |
+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+------+-----+---------+-------+
9 rows in set (0.01 sec)

-~{}~ 31.08.05 13:37:

хм, кто-то может подсказать в чем проблема?

-~{}~ 31.08.05 13:51:

нашел сам уже, проблема в кавычках..
 

basboy

Новичок
Автор оригинала: Vadimka

хм, кто-то может подсказать в чем проблема?
Вообще то ты парень себе здорово задачу усложняешь с этим 'SET'. Может ты и выиграешь в занимаемой памяти, но сложность обработки ()время и логика) серьёзно увеличивается. Пока не позно переделай базу. Потом будет проше и во времени на разработку выиграешь.
 

Vadimka

Новичок
basboy
что именно переделать, структуру ??
хм, подскажи тогда, задача стоит сделать таблицу интересов пользователей, имеются разделы, а в них подразделы...
я вставляю все интересы пользователя одной строкой, при изменении какогото поля все прекрасно меняется в одной строке...
 
Сверху