我们有一个Web应用程序,该应用程序使用唯一生成的Workshop ID并调用一个过程(使用php),该过程将其插入到sql server表中。此表在列workshopID上具有聚集索引,并且设置为唯一。
今天早上,我们收到一个用户报告,称他在页面上收到以下错误代码:
无法在对象'dbo.table中插入具有唯一键的重复键行 索引“ ClusteredIndex-Wrkshp”。重复的键值为(Z9C1Am)
显然,这表明我正在尝试将Z9C1Am插入表中,并且该值已经存在---但是,当我们对该值进行简单查找时,该值不存在,因此我采用了相同的存储过程网站代码调用并将其用于将Z9C1Am(使用SSMS)插入表格中而没有任何问题。
我也可以顺利进入该应用程序,并且此错误没有任何问题;但是,同一位用户再次打来电话,说他在另一个会话中(在同一台计算机上)遇到相同的问题。这次,它在错误中具有不同的wordshopID,但再次,该数据库中不存在该单词。
我认为这与插入重复密钥无关,而是一个幻像错误。
关于如何确认这一点以及如何跟踪实际错误的任何建议? 我的直觉是这一定是浏览器相关的问题;但是,与sql数据库交互的所有代码都是服务器端的,因此这种理论没有多大意义。
答案 0 :(得分:0)
谢谢大家!
Greg的评论使我开始更加仔细地研究我的依赖项,并且我的insert语句中有一个join语句。我要加入的表应该包含唯一值和大约。其中25,000个是;但是我有一组重复导致错误。