插入时"Violation of PRIMARY KEY constraint"



在我们的一个表上运行insert时,我收到了上面的错误。

AdmFormData有3个主键,即FormType、KeyField和FieldName。

有人知道我做错了什么吗?

    set rowcount 0
    go

    INSERT INTO  AdmFormData
    (
    [FormType]
      ,[KeyField]
      ,[FieldName]
      ,[AlphaValue]
      ,[NumericValue]
      ,[DateValue]
    )
    SELECT
     'CUS' AS [FormType]
      ,Customer as [KeyField]
      ,'SAL001' AS [FieldName]
      ,[Customer Territory] AS [AlphaValue]
      ,NULL AS [NumericValue]
      ,NULL AS [DateValue]
    FROM
    dgl_territory a
    LEFT OUTER JOIN AdmFormData f
    on f.FormType = 'CUS' and f.FieldName = 'SAL001' and f.KeyField = a.Customer
    WHERE f.FormType IS NULL

错误告诉您AdmFormData表中已经有一条记录,该记录具有您尝试INSERT 的主键

如果表上的主键包含FormType, KeyField and FieldName,那么您已经有了一个值为的记录:

'CUS' AS [FormType]
,Customer as [KeyField]
,'SAL001' AS [FieldName]

不能有多个具有相同主键的记录,它们是唯一的。

相关内容

最新更新