创建非唯一索引时的唯一索引错误 - SQL Server

Unique Index Error when creating non-unique index - SQL Server(创建非唯一索引时的唯一索引错误 - SQL Server)
本文介绍了创建非唯一索引时的唯一索引错误 - SQL Server的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我尝试对 SQL Server 2005 中的表创建非唯一索引.尝试创建它时出现以下错误.

I trying to and a non-unique index to a table table in SQL Server 2005. I am getting the following error when I try to create it.

消息 1505,级别 16,状态 1,第 1 行CREATE UNIQUE INDEX 语句终止,因为找到了对象名称dbo.oe_pick_ticket"和索引名称idx_pick_ticket_popup_wmms"的重复键.重复键值为 (1093066, N, N, N, , FBF, 100001, 1074359, 1118930).

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.oe_pick_ticket' and the index name 'idx_pick_ticket_popup_wmms'. The duplicate key value is (1093066, N, N, N, , FBF, 100001, 1074359, 1118930).

我的create语句如下:

My create statement is as follows:

CREATE NONCLUSTERED INDEX idx_pick_ticket_popup_wmms 
ON oe_pick_ticket (invoice_no, delete_flag, direct_shipment, auxiliary, oe_pick_ticket_type_cd, company_id, location_id, order_no)

我尝试重建聚集/唯一/主键索引,但没有任何改变.有谁知道我为什么会收到此错误以及如何解决它?

I have tried rebuilding the clustered/unique/primary key index and that didn't change anything. Does anyone know why I am getting this error and how to resolve it?

推荐答案

事实证明,我能够自己解决这个问题.我在桌子上运行了一个 DBCC CHECKTABLE,结果不一致.之后,我使用 REBUILD_REPAIR 选项再次运行它并修复了主键不一致的问题.

It turns out that I was able to figure this out on my own. I ran a DBCC CHECKTABLE on the table and there was an inconsistency. After that I ran it again with the REBUILD_REPAIR option and it fixed the primary key inconsistency.

这篇关于创建非唯一索引时的唯一索引错误 - SQL Server的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Dynamically group by with quot;Group Headerquot;(使用“组头动态分组)
How to retrieve leaf path in parent-child table in SQL Server with root ID?(如何使用根 ID 在 SQL Server 中的父子表中检索叶路径?)
Tsql union in while loop(while循环中的Tsql联合)
Pass a column as parameter to dateadd in SQL Server(将列作为参数传递给 SQL Server 中的 dateadd)
Is it possible to convert rows to a variable number of columns in T-SQL?(是否可以在 T-SQL 中将行转换为可变数量的列?)
Swap values between two rows of data(在两行数据之间交换值)