我有一个表称为Cases具有约访谈如信息IV_Date,IV_Length,Interviewer等我也有内的字段Cases被称为Case_Code(A varchar),它是一个六字符(三个字母+三个数字)标识符; 例如“ ABC123”或“ ZZZ999”。ContactID(an int)上有一个外键,它指向一个Contact表。我创建了一个计算列,它是此Cases表的PRIMARY KEY ,称为CaseID。CaseID仅仅是的串联Case_Code和ContactID。因此,ContactID为案例“ ZZZ99925”工作的“ 25”被指定CaseID为“ ZZZ99925”。既不Case_Code也不ContactID接受null,因此CaseID显然不接受。设置时CaseID我将其创建为NOT NULL,PRIMARY KEY,并使用了公式“ [Case_Code] + CONVERT([varchar],[contactID],0)”。我以为一切都很好,但是当我尝试重新排列SQL Studio表设计视图中的任何字段时,会抛出此错误:
'Cases (dbo)' table
- Unable to create index 'PK_Cases_1'.
Cannot define PRIMARY KEY constraint on nullable column in table 'Cases'.
Could not create …Run Code Online (Sandbox Code Playgroud)