如何在SQL Server 2008 R2中强制使列对于整个表是唯一的? [英] How can I force a column to be unique for an entire table in SQL Server 2008 R2?

查看:0
本文介绍了如何在SQL Server 2008 R2中强制使列对于整个表是唯一的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有Description字段的表。我希望确保没有两行具有相同的"Description",但我无法将Description写入我的IDENTITY列(我的ID列是一个int)。

Description设置为第二个主键(除了已经是主键的我的ID之外)是否安全?

推荐答案

向Description列添加唯一索引。

使用SQL Server Management Studio右键单击表,然后选择设计。然后右击一列并选择"索引/键"。您将看到以下窗口提示

单击左下角的Add,然后指定索引的属性。如果要使用DDL脚本,请使用类似以下内容

CREATE UNIQUE NONCLUSTERED INDEX [IX_INDEXNAME] ON [dbo].[TABLENAME] 
(
    [Description] ASC
)
WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
GO

这篇关于如何在SQL Server 2008 R2中强制使列对于整个表是唯一的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆