SQL server2008限制字段值

liao_yu 2018-09-25 11:13:54
一张表Users中如何限制列UsersGroupID必须是UsersGroup表中的编号。 UsersGroup表结构: ID(ID号,主键,标识列) UsersGroup(用户组名称)
...全文
670 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2018-09-25
  • 打赏
  • 举报
回复
最传统的做法, 那就用外键。 其次, 用触发器。 宽松一点的做法, 在应用程序中事先判断, 不合格的不能保存。
卖水果的net 2018-09-25
  • 打赏
  • 举报
回复
非空 + 外键,这正好符合你的需求。
二月十六 2018-09-25
  • 打赏
  • 举报
回复
用外键就可以
if not object_id(N'UsersGroup') is null
drop table UsersGroup
Go
Create table UsersGroup([ID] INT PRIMARY KEY,[UsersGroup] nvarchar(22))
Insert UsersGroup
select 1,N'一组' union all
select 2,N'二组'
GO
if not object_id(N'Users') is null
drop table Users
Go
Create table Users([ID] int,[UsersGroupID] INT FOREIGN KEY REFERENCES dbo.UsersGroup(ID))
Go


如果插入UsersGroup没有的Id会报错



22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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