upsert如何在Salesforce API中工作?
我相信它会检查它是否存在具有唯一ID的记录。如果它可用,则更新记录,否则创建记录。
这是对的吗?
我收到以下错误
Upsert failed. First exception on row 1; first error: DUPLICATE_EXTERNAL_ID, Asset Tag: more than one record found for external id field: [a11M0000000CwJqIAK, a11M0000000CwJvIAK]: [Asset_Tag__c]
我有一个包含项目的列表,并且没有重复的Asset_Tag
值。
system.debug('LstItem Asset_Tag__c'+LstItem );
upsert LstItem Asset_Tag__c;
从调试日志
LstItem Asset_Tag__c(Item_c__c:{Scanned_By__c=005M0000000IlxyIAC, Asset_Tag__c=12149, Status__c=Active, Scan_Location__c=001M0000008GzJXIA0, Last_Scan_Date__c=2011-12-17 06:08:47}, Item_c__c:{Scanned_By__c=005M0000000IlxyIAC, Asset_Tag__c=23157, Status__c=Active, Scan_Location__c=001M0000008GzJXIA0, Last_Scan_Date__c=2011-12-17 08:26:14})
我该怎么做才能解决这个问题?
答案 0 :(得分:5)
错误消息表明,根据您提供的外部Id值,有两个匹配的记录。在这种情况下,系统不知道它应该更新哪一个,因此它失败了。
如果您查看/ a11M0000000CwJqIAK和/ a11M0000000CwJvIAK,它们将在外部ID字段中具有相同的值。您可能需要考虑对该对象的记录进行重复数据删除。