当我的列数据类型为SET时,我需要使用什么类型的SQL查询?

时间:2014-09-27 12:35:05

标签: mysql sql set where

MYSQL表 my_contacts

contact_id INT(11) AUTO_INCREMENT,
first_name VARCHAR(255),
interests SET('Animals','Trading Cards','Geocaching','Horseback Riding','Movies','Hiking');

SQL QUERY

SELECT * FROM my_contacts WHERE interests = 'Animals';

示例

如果我的表格中有兴趣动物的记录,则上述查询正常。 ; - )

但是,如果我的表中有记录感兴趣动物远足,则上述查询不会返回任何结果。 : - (

为什么?

1 个答案:

答案 0 :(得分:3)

使用FIND_IN_SET(str,strlist)

SELECT * FROM my_contacts WHERE FIND_IN_SET('Animals', interests) > 0;

有关SET类型和操作的更多信息:http://dev.mysql.com/doc/refman/5.7/en/set.html

相关问题