这是我创建表格的方式:
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
。