gpt4 book ai didi

sql-server-2005 - 由于不存在重复项而无法创建索引?

转载 作者:行者123 更新时间:2023-12-03 06:12:21 26 4
gpt4 key购买 nike

我在运行以下 Transact-SQL 命令时遇到错误:

CREATE UNIQUE NONCLUSTERED INDEX IX_TopicShortName
ON DimMeasureTopic(TopicShortName)

错误是:

Msg 1505, Level 16, State 1, Line 1 The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name 'dbo.DimMeasureTopic' and the index name 'IX_TopicShortName'. The duplicate key value is ().

当我运行 SELECT * FROM sys.indexes WHERE name = 'IX_TopicShortName'SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[DimMeasureTopic]' ) IX_TopicShortName 索引不显示。所以似乎没有重复。

我在另一个数据库中有相同的架构,并且可以在那里创建索引而不会出现问题。有什么想法为什么它不会在这里创建吗?

最佳答案

并不是索引已经存在,而是表本身的 TopicShortName 字段存在重复值。根据错误消息,重复值是一个空字符串(我猜这可能只是发布的一个方面)。此类重复项会阻止创建 UNIQUE 索引。

您可以运行查询来确认您是否有重复项:

SELECT
TopicShortName,
COUNT(*)
FROM
DimMeasureTopic
GROUP BY
TopicShortName
HAVING
COUNT(*) > 1

可能在另一个数据库中数据不同,并且不存在重复项。

关于sql-server-2005 - 由于不存在重复项而无法创建索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2180842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com