title: MySQL terminology "constraints" vs "foreign keys" difference?
body: <p>I'm looking at the MySQL docs <a href="http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html" rel="noreferrer">here</a> and trying to sort out the distinction between FOREIGN KEYs and CONSTRAINTs. I thought an FK <strong>was</strong> a constraint, but the docs seem to talk about them like they're separate things.</p>
  
  <p>The syntax for creating an FK is (in part)...</p>
  
  <pre><code>[CONSTRAINT [symbol]] FOREIGN KEY
      [index_name] (index_col_name, ...)
      REFERENCES tbl_name (index_col_name,...)
  </code></pre>
  
  <p>So the "CONSTRAINT" clause is optional. Why would you include it or not include it? If you leave it out does MySQL create a foreign key but not a constraint? Or is it more like a "CONSTRAINT" is nothing more than a name for you FK, so if you don't specify it you get an anonymous FK?</p>
  
  <p>Any clarification would be greatly appreciated.</p>
  
  <p>Thanks,</p>
  
  <p>Ethan</p>