title: NULL value in multi-column primary key
body: <p>I've got a table with several columns making up the primary key. The nature of the data stored allows some of these fields to have <code>NULL</code> values. I have designed my table as such:</p>
  
  <pre><code>CREATE TABLE `test` (
      `Field1` SMALLINT(5) UNSIGNED NOT NULL,
      `Field2` DECIMAL(5,2) UNSIGNED NULL DEFAULT NULL,
      PRIMARY KEY (`Field1`, `Field2`)
  )
  COLLATE='latin1_swedish_ci'
  ENGINE=InnoDB;
  </code></pre>
  
  <p>However, when I run <code>describe test</code> it shows like this:</p>
  
  <pre><code>|| *Field* || *Type*                || *Null* || *Key* || *Default* || *Extra* 
  || Field1  || smallint(5) unsigned  || NO     || PRI   ||           ||         
  || Field2  || decimal(5,2) unsigned || NO     || PRI   || 0.00      ||         
  </code></pre>
  
  <p>And I keep getting an error when inserting a <code>NULL</code> value.</p>
  
  <blockquote>
    <p>Column 'Field2' cannot be null</p>
  </blockquote>
  
  <p>Is this because a field that is part of a primary key cannot be null? What are my alternatives besides using, say, '0' for <code>NULL</code>?</p>