一个表goods_attr,表中有2个字段id(int) attr_values(text), 
假如attr_values的值是:黑色,白色,红色
现在有一个字符串“黑色”,我想通过这个字符串来查询得到表中的id的值得,请高手帮帮忙。

解决方案 »

  1.   

    ...
    SELECT id FROM goods_attr WHERE  attr_values = '黑色'
      

  2.   

    不行的,没这么简单,attr_values的类型是text,再说他的值并不是“黑色",而是"黑色,白色,红色",你这样的查询语句是查不出来的
      

  3.   

    你是不是想attr_values含有 黑色的 的记录?
    你的字串是黑色 你到底是想怎么匹配?attr_values 含有黑色 还是等于黑色?
    attr_values like '%黑色%'  这个含有
    attr_values = '黑色'
      

  4.   

    楼上说的对,你是想精确匹配还是模糊匹配
    如果是以黑色开头的是
    SELECT id FROM goods_attr WHERE  attr_values = '黑色%';
    如果是含有黑色这两个字的是
    SELECT id FROM goods_attr WHERE  attr_values = '%黑色%';
    如果是这个字段等于黑色
    SELECT id FROM goods_attr WHERE  attr_values = '黑色';