我想向列添加唯一键value
但我必须忽略列中具有相同值的行value
and header_id
。例如,考虑这个表:
id | header_id | value
1 | 1 | a
2 | 1 | a
3 | 2 | a
因此,第 1 行和第 2 行指向同一个对象,并且唯一键应该接受它们,但第 3 行有不同的对象header_id
(指向另一个对象)并且,因为它具有相同的value
作为对象 1,它应该违反唯一约束并引发错误。
编辑16.2:1327:
我正在使用一个生成列来处理历史记录的核心框架,因此我无法规范化表。我的班级有很多列,但对于这个例子,我只考虑value
column.
如果你可以稍微改变你的表结构,你就可以做到:
your_table
id header_value
1 1
2 1
3 2
header_value
id header_id value
1 1 a
2 2 a
添加外键约束your_table.header_value
to header_value.id
.
现在您可以添加唯一约束header_value.value
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)