带有null的SQL复合唯一键

时间:2015-07-24 16:20:18

标签: sql nullable unique-key

这是我创建表格的方式:

CREATE  TABLE IF NOT EXISTS division (
DIV_ID INTEGER PRIMARY KEY ,
DIV_CODE VARCHAR(10) ,
DIV_NAME VARCHAR(20) ,
GR_ID INTEGER ,
UNIQUE (DIV_CODE, DIV_NAME, GR_ID) ,
CONSTRAINT FK1 FOREIGN KEY (GR_ID) REFERENCES grade(GR_ID) )

如果DIV_CODE="1"DIV_NAME="1"GR_ID=1中存在一行,并且我尝试插入值为“1”,“1”和1的另一行,那么我将获得SQL完整性错误,这是预期的。

如果DIV_CODE="1"DIV_NAME="1"GR_ID=null中存在一行,我尝试插入另一行,其中包含vales“1”,“1”和null,则插入新行。我现在有2行,每列的值相同。我可以不同地设置表以获得此方案的类似完整性错误吗?

由于

EDIT 已从NOT NULL定义中删除了GR_ID

0 个答案:

没有答案