最佳答案
                                        
                                                                        
                                我得到了一个包含几个列的表,它们构成了主键。存储的数据的性质允许其中一些字段具有 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      ||
And I keep getting an error when inserting a NULL value.
列“ Field2”不能为空
这是因为作为主键一部分的字段不能为空吗?除了对 NULL使用“0”之外,我还有什么选择?
 
                                
                             
                                
                             
                                
                             
                                
                            