This wil be such a noob question - I'm very new to Data Loader and SOQL. Just started a few weeks back for an ad-hoc project assigned to me at work.

I found a solution via vbs to build a .csv file (from 2 files) which I will then use for updating cases in SFDC via batch.

I found out that VBS returns a SYLK error message when the .csv file starts with the characters "ID" - vbs thnks the file is a symlink file which it isn't: the "ID" is the case ID column header. To solve that, I had my extract SOQL .csv to list down "CASENUMBER" as the first column.

The end result .csv I use for the case update (of OwnerId) has the following column headers - 4 of them:


But when I create the mapping .sdl file in the Data Loader UI, I notice that Using Auto-Mapping, it drops or skips the first column header (which is "CASENUMBER"). It produces mapping for the other column headers and puts ID=Id as the first and with only 3 column headers mapped:


When I proceed with the update, the case appears to be updating fine.

To be precise, it is only the OwnerId field where there is actual update happening. The other fields have the same data.

Is it safe to assume :

  • that it only cares for the fields defined in the mappin.sdl vs .csv used and just 'ignores' all other columns not mapped?

  • and that the Update process in Data Loader only updates fields where there is actual discrepancy between 'old' and 'new'?

Thank you so much! I'm trying to understand how Data Loader stuff works.

1 Answer 1


Very simple answer:

  • Yes : Any extra field not mentioned in mappin.sdl will be ignore.
  • No : Salesforce does NOT compare OLD and NEW value. It just simply update it.(Note the last modified time stamp on the record)

You can verify it with simple test data load.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .