在我们的一个表上运行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]
不能有多个具有相同主键的记录,它们是唯一的。