我有一个独特的索引要求,我无法弄明白。
我表中的三列
Code (VarChar) | User(Int - Nullable) | Item(Int - Nullable)
我在Code AND User
上设置了一个唯一索引,在Code AND Item
这意味着,如果user
为item
,我们就不能有多个引用相同NULL
的代码,并且我们不能有多个代码引用同一个item
user
1}}如果NULL
是Code (VarChar) | User(Int - Nullable) | Item(Int - Nullable)
12345678 | NULL | 1
12345678 | 1 | NULL
12345678 | 2 | 1 ** This row clashes on ITEM **
但我有第三个案例......
我希望能够拥有与用户AND和项目相关的代码,这些代码可能已经存在于相同的项目或用户。但是我不能这样做,因为它会与上面的一个索引冲突。
因此,鉴于上述独特索引,我还希望能够插入这些记录
ArrayList<String>> buttonresourceIds = new ArrayList<String>>();
ArrayList<String>> buttonresourceIds2 = new ArrayList<String>>();
for(int i=0;i<buttonresourceIds.size();i++){
for(int j=0;j<buttonresourceIds2.size();j++){
if(buttonresourceIds.contains(buttonresourceIds2.get(j))){
System.out.println("Exist : "+buttonresourceIds2.get(j));
}else{
System.out.println("Not Exist : "+buttonresourceIds2.get(j));
}
}
}
这是可能还是我再做一些愚蠢的事情了??
答案 0 :(得分:0)
对 - 答案似乎只是“不要使用NULL
”
因此,如果我使用0而不是NULL
,那里不需要Item
或User
数据,我可以拥有我需要的唯一约束!