An Update operation modifies existing records. The single rule that distinguishes it from Insert: every row must carry the 18-character Salesforce Id so Data Loader knows which record to change.
Step-by-step
- Prepare the CSV. First column is usually
Id(the record’s Salesforce ID). Add only the fields you want to change — fields you omit from the CSV are left untouched. UTF-8 saves a lot of pain with apostrophes and accents. - Launch Data Loader and click Update.
- Log in to production (login.salesforce.com) or sandbox (test.salesforce.com).
- Pick the target object — the API name has to match (
Account,Contact,My_Object__c). - Select the CSV file. Data Loader previews the first rows.
- Map columns to fields.
Idmust map toId. Map every other column you want to change. Click Auto-Match if your header names already match the API names. Save the mapping as.sdlfor reuse. - Pick the success/error output directory.
- Click Finish. The job runs row-by-row in batches.
- Review the outputs.
success_<timestamp>.csv— every row that updated, with the Id echoed back.error_<timestamp>.csv— failures with an error column. The first column always tells you why.
How to get the Ids in the first place
The standard workflow is Export → edit → Update:
- Run an Export with a SOQL query that grabs
Idplus the fields you want to change. - Open the result in Excel, change the values.
- Save and run Update against that same file.
This pattern is the bread and butter of admin work — bulk-changing record owners, normalising picklist values, fixing typos across 50,000 records.
Things to verify before clicking Finish
- Are required fields covered? Update doesn’t need required fields if they already have values, but if you blank one out you’ll get
REQUIRED_FIELD_MISSING. - Are you running in the right org? A common production mistake — log in twice if you’re not sure.
- Are triggers/validation rules going to block you? If so, plan accordingly: either bypass them through a “Loader” custom permission your code respects, or fix the data first.
- Bulk API vs SOAP API? Tick Use Bulk API under Settings → Settings for jobs over ~10,000 rows.
Trap: blank cells vs nulls
A blank cell in your CSV is ignored — the field stays at its existing value. To explicitly null out a field you need to tick Insert Null Values under Settings → Settings. Without that flag your “delete this field” rows do nothing.
Verified against: Data Loader Guide — Updating Data, Metadata API Developer Guide. Last reviewed 2026-05-17 for Spring ‘26 release.