title: In MySQL, with FKs what's "CONSTRAINT" do?
body: <p>I've looked at the MySQL 5.1 docs, and still can't figured this out -- that being I noticed a difference between the code I input into MySQL and output code by the system.</p>
  
  <p><strong>What is the difference between the code sample 01 and 02, meaning 02 has added <code>CONSTRAINT</code> before <code>FOREIGN KEY</code> -- why, and what's it do?</strong></p>
  
  <p><strong>CODE_SAMPLE_01:</strong></p>
  
  <pre><code>FOREIGN KEY (TABLE_02_nID_FK__TABLE_01_sID_PK) REFERENCES TABLE_01(TABLE_01_sID_PK),
  </code></pre>
  
  <p><strong>CONTEXT:</strong></p>
  
  <pre><code>CREATE TABLE `TABLE_02` (
    `TABLE_02_sID_PK` int(8) NOT NULL,
    `TABLE_02_nID_FK__TABLE_01_sID_PK` int(8) NOT NULL,
    `TABLE_02_cID` int(8) NOT NULL,
    `TABLE_02_data01` varchar(128) default NULL,
    `TABLE_02_data02` varchar(128) NOT NULL,
    `create_timestamp` DATETIME DEFAULT NULL,
    `update_timestamp` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`TABLE_02_sID_PK`),
    FOREIGN KEY (TABLE_02_nID_FK__TABLE_01_sID_PK) REFERENCES TABLE_01(TABLE_01_sID_PK),
    INDEX `TABLE_02_nID_FK__TABLE_01_sID_PK` (`TABLE_02_nID_FK__TABLE_01_sID_PK`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  </code></pre>
  
  <p><strong>CODE_SAMPLE_02:</strong></p>
  
  <pre><code>CONSTRAINT `table_02_ibfk_1` FOREIGN KEY (`TABLE_02_nID_FK__TABLE_01_sID_PK`) REFERENCES `table_01` (`TABLE_01_sID_PK`)
  </code></pre>
  
  <p><strong>CONTEXT:</strong></p>
  
  <pre><code>CREATE TABLE `table_02` (
    `TABLE_02_sID_PK` int(8) NOT NULL,
    `TABLE_02_nID_FK__TABLE_01_sID_PK` int(8) NOT NULL,
    `TABLE_02_cID` int(8) NOT NULL,
    `TABLE_02_data01` varchar(128) DEFAULT NULL,
    `TABLE_02_data02` varchar(128) NOT NULL,
    `create_timestamp` datetime DEFAULT NULL,
    `update_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (`TABLE_02_sID_PK`),
    KEY `TABLE_02_nID_FK__TABLE_01_sID_PK` (`TABLE_02_nID_FK__TABLE_01_sID_PK`),
    CONSTRAINT `table_02_ibfk_1` FOREIGN KEY (`TABLE_02_nID_FK__TABLE_01_sID_PK`) REFERENCES `table_01` (`TABLE_01_sID_PK`)
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  </code></pre>