SQL Server 2008 - 如何添加约束以防止相同的值出现在 A 列和 B 列中?
我在一个表 (Table1
) 中有两个 varchar
列 (ColA, ColB
)
有没有办法制作一个约束来防止ColA
和 ColB
中出现的值相同吗?
示例
原始表:
-----------------------
| Col A | Col B |
-----------------------
| Alice | Bob |
-----------------------
插入我希望失败的命令
Insert into Table1 values ('Bob', 'Jill')
不需要的结果
-----------------------
| ColA | ColB |
-----------------------
| Alice | Bob | <-- Bob In Col B
-----------------------
| Bob | Jill | <-- Bob in Col A
-----------------------
I have two varchar
columns (ColA, ColB
) in a single table (Table1
)
Is there a way to craft a constraint that would prevent the same value from appearing in both ColA
and ColB
?
Example
Original Table:
-----------------------
| Col A | Col B |
-----------------------
| Alice | Bob |
-----------------------
Insert Command that I would like to fail
Insert into Table1 values ('Bob', 'Jill')
Undesired Result
-----------------------
| ColA | ColB |
-----------------------
| Alice | Bob | <-- Bob In Col B
-----------------------
| Bob | Jill | <-- Bob in Col A
-----------------------
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要将此约束逻辑实现为
触发器
< /a>.You would need to implement this constraint logic as a
Trigger
.@米奇小麦是正确的。
这是一些工作代码:
@Mitch Wheat is correct.
Here's some working code: