Значение NULL в первичном ключе из нескольких столбцов

У меня есть таблица с несколькими столбцами, составляющими первичный ключ. Характер хранимых данных позволяет некоторым из этих полей иметьNULL ценности. Я разработал свой стол так:

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;

Тем не менее, когда я бегуdescribe test это показывает так:

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

И я продолжаю получать ошибку при вставкеNULL значение.

Column 'Field2' cannot be null

Это потому, что поле, являющееся частью первичного ключа, не может быть пустым? Каковы мои альтернативы, кроме использования, скажем, «0»? заNULL?

Ответы на вопрос(5)

Ваш ответ на вопрос