- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在运行以下 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/
我是一名优秀的程序员,十分优秀!