我有一张字段为Description的桌子.我希望确保没有两行具有相同的"Description",但是我不能将Description放入我的IDENTITY列(我的ID列是一个int).

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

推荐答案

向Description列添加唯一索引.

使用SQL Server Management Studio右键单击表,然后 Select "设计".然后右键单击一列并 Select "索引/键".系统将通过以下窗口提示您

ALT Text

单击左下角的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

Database相关问答推荐

将数据拆分为月份(以Postgres为单位

嵌入式的 best数据库是什么?

什么是非规范化 mysql 数据库的好方法?

将 .frm 和 .opt 文件导入 MySQL

授予对具有特定前缀的多个表的权限

使用varchar作为主键?

B+ 树相对于 BST 的优势?

postgresql 在 where 子句中使用 json 子元素

更改列类型而不丢失数据

friendship数据库模式

为数据库应用程序留下审计跟踪/更改历史的有效策略?

MySQL 数据库中列名中的连字符

是什么导致pyodbcunable to connect to data source?

Select * 和 Select [列出每个列] 之间有区别吗

Django 数据库值的最佳推荐方式是什么?

有没有一种简单的方法来告诉 alembic 迁移到特定版本?

如何使用 Realm 进行排序?

SQL 查询 - 如何按 null 或不为 null 进行过滤

数据库 EAV 优点/缺点和替代方案

清空数据库是什么意思?