我有一张桌子,其中有两列作为复合PRIMARY KEY。现在我很困惑。
假设我有一张桌子,如下所示:
ColA ColB
X NULL
X NULL
“ X NULL”和“ X NULL”这两个行都组合为主键。
那么,这种插入可能吗?由于NULL值不同,因此两行都应代表新的数据组合。
请澄清。
答案 0 :(得分:0)
主键具有三个属性:
NULL
。因此,根据此定义,您不能将这两列声明为主键。
通常,我不主张使用复合主键。我建议对表使用自动递增的主键(语法因数据库而异)。
数字标识符的一个不错的功能是它捕获表中值的插入顺序。同样,许多数据库通过主键将数据聚集在一起,从而导致insert
和update
上的碎片。