title: MySQL Select rows where column contains only values from a set
body: <p>Is there a way to select rows where one of the column contains only predefined values? I've been using this, but it returns any rows where my column contains at least one of the values (which is exactly what it's suppose to do, I know). But I'm looking for a way to only select rows that have ONLY my keywords in the keyword column.</p>
  
  <pre><code>SELECT * 
  FROM 
      `products`.`product` 
  WHERE 
      keywords LIKE '%chocolate%' 
  AND keyword LIKE '%vanilla%';
  </code></pre>
  
  <p>I'm looking for something to do this</p>
  
  <pre><code>SELECT * 
  FROM 
     `products`.`product` 
  WHERE 
     keywords **ONLY** LIKE '%chocolate%' 
  OR keyword LIKE '%vanilla%';
  </code></pre>
  
  <p>I've tried to make the most sense with this question, hopefully someone has a magic solution for me!</p>
  
  <p>UPDATE/Examples:
  Keywords: chocolate, sugar, milk, oats</p>
  
  <p>Using the above keywords, I would want the first two results returned, but not the last two:</p>
  
  <p>Product1: chocolate, sugar
  Product2: chocolate
  Product3: chocolate, sugar, milk, oats, bran
  Product4: chocolate, sugar, salt</p>
  
  <p>My column contains a comma separated list of all keywords applicable to that product row.</p>