我有一个包含多个列的表格组成主键。存储的数据的性质允许其中一些字段具有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
值时一直收到一个错误。
列“Field2”无法为 null
这是因为主键的一部分字段不能为null吗?除了使用像“0”这样的值替代NULL
,还有哪些替代方法?