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
?