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
?