您的位置:首页 > 数据库

sql server 2008 设置复合唯一键 多列复合构成唯一 的两种姿势

2016-10-21 14:20 876 查看
labelAddr   partNr   workstationId versionId 这四个每个单独出来都可以重复 但是不能四列完全相同

而此时他们的主键是一个自增的id  因此不能控制其唯一性



所以要新增一个复合唯一键

右键该表 设计

空白处 右键 索引/键



添加







确认 保存

第二种 sql语言

ALTER TABLE  [autowork].[dbo].[ELabelOnForPartOnWorkstation] add constraint labelAddr_partNr_workstationId_versionId_to_unique unique(labelAddr,partNr,workstationId,VersionId)

其中[autowork].[dbo].[ELabelOnForPartOnWorkstation]是表名

labelAddr_partNr_workstationId_versionId_to_unique是自定义的约束名

labelAddr,partNr,workstationId,VersionId是列名

ps:如果出现错误

因为发现对象名称'%.*ls'和索引名称'%.*ls'有重复的键,所以CREATEUNIQUEINDEX语句终止。重复的键值为%ls。

说明现有表中存在重复的数据,先根据提示 删掉重复项

就可以正常保存了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: