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

本文介绍了在SQL Server 2008中如何为表添加复合唯一键,确保四列(labelAddr, partNr, workstationId, versionId)组合的唯一性。可以通过设计视图或使用ALTER TABLE SQL语句实现。若遇到因重复键值导致的创建失败,需先删除重复数据。" 122802082,7541482,使用DL Workbench优化OpenVINO深度学习模型,"['深度学习', '人工智能', 'OpenVINO', '模型优化', '模型性能']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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。

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

就可以正常保存了






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值