Valor NULL na chave primária de várias colunas

Eu tenho uma tabela com várias colunas que compõem a chave primária. A natureza dos dados armazenados permite que alguns desses campos tenhamNULL valores. Eu projetei minha mesa como tal:

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;

No entanto, quando corrodescribe test mostra assim:

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

E eu continuo recebendo um erro ao inserir umNULL valor.

A coluna 'Field2' não pode ser nula

Isso ocorre porque um campo que faz parte de uma chave primária não pode ser nulo? Quais são minhas alternativas além de usar, digamos, '0' paraNULL?

questionAnswers(5)

yourAnswerToTheQuestion