Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server 2000错误消息:具有唯一索引的重复密钥_Sql Server - Fatal编程技术网

Sql server SQL Server 2000错误消息:具有唯一索引的重复密钥

Sql server SQL Server 2000错误消息:具有唯一索引的重复密钥,sql-server,Sql Server,数据库服务器:SQLServer2000-8.00.760-SP3-标准版 我有一个有5列的表,我想在其中添加大量(300.000)记录。两列的组合上有一个唯一的索引。如果添加具有此唯一索引的记录,SQL Server将显示以下错误消息: Msg 2601,第14级,第3状态,第1行 无法在具有唯一索引“test”的对象“TESTTABLE”中插入重复的键行。 声明已终止 (受影响的0行) 但是,如果我删除了唯一索引,然后添加了记录,那么在以后创建此唯一索引时不会出现任何错误。请检查构成唯一索引

数据库服务器:SQLServer2000-8.00.760-SP3-标准版

我有一个有5列的表,我想在其中添加大量(300.000)记录。两列的组合上有一个唯一的索引。如果添加具有此唯一索引的记录,SQL Server将显示以下错误消息:

Msg 2601,第14级,第3状态,第1行 无法在具有唯一索引“test”的对象“TESTTABLE”中插入重复的键行。 声明已终止

(受影响的0行)


但是,如果我删除了唯一索引,然后添加了记录,那么在以后创建此唯一索引时不会出现任何错误。

请检查构成唯一索引的字段

这些字段上的源数据存在重复,导致插入失败

如何处理取决于数据的性质。如果只是一行比另一行更新,使原始行过时,那么您可以将其删除。否则,请与您的业务人员谈谈:-

  • 您应该如何处理复制数据
  • 是否在 柱子是必要的

有些问题很容易解决。对于这个问题,您的大多数解决方案实际上都是非技术性的。

您的一个假设肯定是错误的。再次拜访他们。索引的性质、输入的数据、预先存在的数据(如果有)、排序规则(不区分大小写/区分大小写)。

唯一约束(非索引)在?

使用什么添加记录?Microsoft SQL Server Management Studio Express 9.00.2047.00-一个插入查询,用于从不同服务器上的表中选择记录,该表由同一数据库中的表连接,该表包含我要添加>300k记录的表。据我所知,我的数据库中没有重复数据我要添加的记录。因为如果我在没有这个索引的情况下添加记录,我不会收到任何错误消息,我可以在添加记录后添加这个唯一的索引。但是,当我第一次创建唯一索引时,我无法添加记录!