NULL value in multi-column primary key
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 ``NULL`` values. I have designed my table as such:

    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;

However, when I run ``describe test`` it shows like this:

    || *Field* || *Type*                || *Null* || *Key* || *Default* || *Extra* 
    || Field1  || smallint(5) unsigned  || NO     || PRI   ||           ||         
    || Field2  || decimal(5,2) unsigned || NO     || PRI   || 0.00      ||         

And I keep getting an error when inserting a ``NULL`` value.

> Column 'Field2' cannot be null

Is this because a field that is part of a primary key cannot be null? What are my alternatives besides using, say, '0' for ``NULL``?

NULL value in multi-column primary key
===

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 ``NULL`` values. I have designed my table as such:

    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;

However, when I run ``describe test`` it shows like this:

    || *Field* || *Type*                || *Null* || *Key* || *Default* || *Extra* 
    || Field1  || smallint(5) unsigned  || NO     || PRI   ||           ||         
    || Field2  || decimal(5,2) unsigned || NO     || PRI   || 0.00      ||         

And I keep getting an error when inserting a ``NULL`` value.

> Column 'Field2' cannot be null

Is this because a field that is part of a primary key cannot be null? What are my alternatives besides using, say, '0' for ``NULL``?
