sql server 2008 设置复合唯一键 多列复合构成唯一 的两种姿势
2016-10-21 14:20
876 查看
labelAddr partNr workstationId versionId 这四个每个单独出来都可以重复 但是不能四列完全相同
而此时他们的主键是一个自增的id 因此不能控制其唯一性
![](http://img.blog.csdn.net/20161021141332425?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
所以要新增一个复合唯一键
右键该表 设计
空白处 右键 索引/键
![](http://img.blog.csdn.net/20161021141527138?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
添加
![](http://img.blog.csdn.net/20161021141606107?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
列
![](http://img.blog.csdn.net/20161021141717134?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
确认 保存
第二种 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:如果出现错误
就可以正常保存了
而此时他们的主键是一个自增的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。
说明现有表中存在重复的数据,先根据提示 删掉重复项就可以正常保存了
相关文章推荐
- SQL Server 2008可视化设置键唯一
- SQL Server 2008可视化设置键唯一 .
- SQL Server 2008可视化设置主键且自增
- win2008 r2安装SQL SERVER 2008 R2 不能打开1433端口设置方法
- SQL Server 2008可视化设置自增主键
- SQL Server 2008 Express 远程访问设置方法
- SQL Server 2008数据库创建用户只读权限的两种方式
- SQL SERVER 2008别名设置和应用
- SQL Server 2008 阻止保存要求重新创建表的更改问题的设置方法
- SQL Server 2008可视化设置外键
- sql server 2005/2008 设置 sql身份验证 和 sa空密码(像sql2000一样使用)(转载)
- SQL Server 2008 R2占用内存越来越大两种解决方法
- SQL SERVER 2008 r2 数据压缩的两种方法
- SQL Server 2008设置 开启远程连接
- SQL Server 2008 中如何设置用户对表中列的权限
- SQL Server 2005(2008)安装过程中忘记设置sa用户的解决方案和远程访问
- SQL Server 2008 Express 远程访问设置方法
- SQL Server 2008 数据库同步的两种方式 (发布、订阅)
- SQL Server 2008入门系列之设置数据库服务器的访问权限
- SQL Server 2008 数据库同步的两种方式 (发布、订阅)