Wartość NULL w wielokolumnowym kluczu podstawowym

Mam tabelę z kilkoma kolumnami tworzącymi klucz podstawowy. Charakter przechowywanych danych pozwala na posiadanie niektórych z tych pólNULL wartości. Zaprojektowałem mój stół jako taki:

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;

Jednak kiedy biegamdescribe test to pokazuje tak:

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

I ciągle pojawia się błąd podczas wstawianiaNULL wartość.

Kolumna „Pole 2” nie może być zerowa

Czy to dlatego, że pole będące częścią klucza podstawowego nie może być puste? Jakie są moje alternatywy oprócz użycia, powiedzmy, „0”NULL?

questionAnswers(5)

yourAnswerToTheQuestion