Mega Code Archive

 
Categories / MySQL Tutorial / Data Types
 

Looking for an exact match in a set column

Comparing set values to 'val1,val2' returns different results than comparing values to 'val2,val1'. mysql> mysql> SELECT * FROM tbl_name WHERE set_col = 'val1,val2'; mysql> mysql> CREATE TABLE myset (col SET('a', 'b', 'c', 'd')); Query OK, 0 rows affected (0.02 sec) mysql> INSERT INTO myset (col) VALUES ('a,d'),     ->                                ('d,a'),     ->                                ('a,d,a'),     ->                                ('a,d,d'),     ->                                ('d,a,d'); Query OK, 5 rows affected (0.00 sec) Records: 5  Duplicates: 0  Warnings: 0 mysql> SELECT col FROM myset; +------+ | col  | +------+ | a,d  | +------+ 5 rows in set (0.00 sec) mysql> mysql> SELECT * FROM myset WHERE col = 'a,d'; +------+ | col  | +------+ | a,d  | +------+ 5 rows in set (0.00 sec) mysql> mysql> drop table myset; Query OK, 0 rows affected (0.00 sec)