我的 MSSQL 数据库表中有以下(以及更多不相关的)列:Id
、ImageUrl
和ImageId
。ImageUrl
和的组合ImageId
可以出现多次。ImageUrl
属于ImageId
,反之亦然。
为了清楚起见,以下示例使用虚拟值,对于真实数据库表 ImageId: int 和 ImageUrl: nvarchar 用作数据类型。
ImageId
a
属于ImageUrl
=的=a.com
可以出现多次,但ImageId
=a
不能用于其他的ImageUrl
。
ImageUrl
=a.com
可以与相同的词一起出现多次ImageId
,但ImageUrl
=a.com
不能与多个 ' 一起出现,ImageId
例如a
and b
。
以下数据必须是可能的:
ID | 图片ID | 图片网址 |
---|---|---|
1 | A | a.com |
2 | A | a.com |
3 | 乙 | b.com |
以下两个示例是不允许的:
ID | 图片ID | 图片网址 |
---|---|---|
1 | A | a.com |
2 | 乙 | a.com |
ID | 图片ID | 图片网址 |
---|---|---|
1 | A | a.com |
2 | A | b.com |
我不知道,也没有找到 MSSQL 解决方案。
问题:有没有解决方案可以在 MSSQL 中强制执行此操作?有没有一个词/术语来表示这种约束/执行?
编辑:这是我现有的包含大量数据的数据库,其中该表是“主”表。我宁愿不通过更改或删除列来更改此表的结构。添加列就好了。这就是为什么 @LeppyR64 的答案不会成为我的用例的解决方案。