SQL Server下设置约束条件

zhangwuji156 2011-10-17 04:27:03
有一个工程,控制点表
一个控制点可能属于多个工程,一个工程下的控制点名不能重复,控制点ID,全部控制点都是唯一标识。


工程 控制点ID 控制点名
某工程 001 AAA

设置工程、控制点ID为共同主键,

但这样会出现

工程 控制点ID 控制点名
某工程 001 AAA
某工程 002 AAA

这种情况,这样是不允许的,一个工程下不允许控制点重复。但同样也不能把三列同时作为主键,这样的话,会产生。

工程 控制点ID 控制点名
某工程 001 AAA
某工程 001 BBB

这种情况,001肯定是与AAA对就的,这样的输入肯定是录入错误,但现在不考虑程序端实现,就说SQL Server有什么机制,约束它们
...全文
204 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangwuji156 2011-10-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ap0405140 的回复:]

引用楼主 zhangwuji156 的回复:
工程 控制点ID 控制点名
某工程 001 AAA
某工程 002 AAA

为何同个控制点名AAA对应不同的控制点ID?有点乱喔.
[/Quote]对呀,不允许出现这种情况呀,出现说明是录入错误,
快溜 2011-10-26
  • 打赏
  • 举报
回复
好像拆分还好一点
唐诗三百首 2011-10-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhangwuji156 的回复:]
工程 控制点ID 控制点名
某工程 001 AAA
某工程 002 AAA
[/Quote]
为何同个控制点名AAA对应不同的控制点ID?有点乱喔.
--小F-- 2011-10-17
  • 打赏
  • 举报
回复
这样的表需要拆分了才能满足你的要求。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧