我正在尝试使用此脚本向表添加主键:
USE [C01]
GO
ALTER TABLE [dbo].[CHECKREGISTER]
ADD PRIMARY KEY CLUSTERED ([TRANSACTIONID] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF,
ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
但是当我尝试时,出现以下错误:
消息 1505,第 16 级,状态 1,第 3 行
CREATE UNIQUE INDEX 语句终止,因为发现对象名称“dbo.CHECKREGISTER”和索引名称“PK__CHECKREG__356DA90E668030F6”存在重复键。重复的键值为 (0)。 > 消息 1750,级别 16,状态 0,第 3 行
无法创建约束。请参阅以前的错误。该声明已终止。
但是当我查看数据库“树”时,它没有显示任何键或约束。我该怎么办?
您已设置
IGNORE_DUP_KEY = OFF
。该消息告诉您有一个重复的密钥。再次检查该表。您可能错过了主键。如果你真的认为情况并非如此IGNORE_DUP_KEY = ON
。
如果您要向现有列添加主键,则该列只需保存唯一值。在这种情况下,
TRANSACTIONID
列中有重复的值。