表中不存在值时出现插入重复键错误-SQL Server

时间:2019-02-27 18:33:17

标签: php sql-server

我们有一个Web应用程序,该应用程序使用唯一生成的Workshop ID并调用一个过程(使用php),该过程将其插入到sql server表中。此表在列workshopID上具有聚集索引,并且设置为唯一。

今天早上,我们收到一个用户报告,称他在页面上收到以下错误代码:

  

无法在对象'dbo.table中插入具有唯一键的重复键行   索引“ ClusteredIndex-Wrkshp”。重复的键值为(Z9C1Am)

显然,这表明我正在尝试将Z9C1Am插入表中,并且该值已经存在---但是,当我们对该值进行简单查找时,该值不存在,因此我采用了相同的存储过程网站代码调用并将其用于将Z9C1Am(使用SSMS)插入表格中而没有任何问题。

我也可以顺利进入该应用程序,并且此错误没有任何问题;但是,同一位用户再次打来电话,说他在另一个会话中(在同一台计算机上)遇到相同的问题。这次,它在错误中具有不同的wordshopID,但再次,该数据库中不存在该单词。

我认为这与插入重复密钥无关,而是一个幻像错误。

关于如何确认这一点以及如何跟踪实际错误的任何建议?  我的直觉是这一定是浏览器相关的问题;但是,与sql数据库交互的所有代码都是服务器端的,因此这种理论没有多大意义。

1 个答案:

答案 0 :(得分:0)

谢谢大家!

Greg的评论使我开始更加仔细地研究我的依赖项,并且我的insert语句中有一个join语句。我要加入的表应该包含唯一值和大约。其中25,000个是;但是我有一组重复导致错误。