Gif*_*guy 18 sql database sql-server unique primary-key
我有一张有田地的桌子Description.我想确保没有两行具有相同的"描述",但我无法将描述写入我的标识列(我的ID列是一个int).
设置Description为第二个主键是否安全(除了我的ID已经是主键)?
Mit*_*eat 23
没有"辅助主键"这样的东西.每个表有一个主键.
在列上创建一个UNIQUE约束Description(非常不寻常的事情,BTW.例如,更常见的是创建一个唯一的索引Product Name而不是a Product description)或者如果Description列中有空值,则创建一个Filtered索引(SQL Server 2008)向前)
ALTER TABLE dbo.yourTable
   ADD CONSTRAINT UQ_yourTable_Description UNIQUE ([Description]);
Run Code Online (Sandbox Code Playgroud)
        Lor*_*nzo 15
将"唯一"索引添加到"描述"列.
使用Sql Server Management Studio右键单击表并选择"设计".然后右键单击一列并选择"索引/键".系统将提示您使用以下窗口

单击左下角的"添加",然后指定索引的属性.如果你想使用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
Run Code Online (Sandbox Code Playgroud)