Import data into an existing table

Import into existing tables when you need to add or update data while preserving your carefully configured field structure and types.

Add rows to existing tables by importing CSV, JSON, or XML files, or paste directly from spreadsheets. Choose between appending new records or updating existing ones based on matching criteria.

This guide covers adding data to existing tables. To create new tables from files, see Create a table via import.

Overview

Importing into existing tables adds data to tables you’ve already configured with specific field types. Unlike creating tables via import (where all fields start as text), importing into existing tables respects your field configurations; dates stay dates, numbers stay numbers, and select fields match options automatically. This is perfect for regularly updating tables with new data or refreshing existing records.

JPEG Image Merge or upsert rows during additional import

When to use existing table imports

Use existing table imports when:

  • Adding new records to a table you update regularly (weekly sales data, new customer entries, etc.)
  • Updating existing records with fresh information from external systems
  • Importing data that needs to match pre-configured field types (dates, select options, linked records)
  • Maintaining consistent field structure while adding variable data

Use new table imports when:

  • Starting a brand-new project without existing structure
  • Importing one-time datasets that don’t need regular updates
  • Experimenting with data structure before committing to field types
  • Creating independent tables from different data sources

Supported file formats

You can import data from multiple sources into existing tables:

  • File uploads: CSV files from spreadsheet exports, JSON files from API exports or database dumps, and XML files from technical systems all work seamlessly. Each format automatically maps to your table’s existing field structure.
  • Direct paste: Copy cells directly from Excel, Google Sheets, or any spreadsheet application and paste into Baserow. This is great for small datasets or quick updates.

Baserow intelligently maps imported columns to your existing fields by matching column headers to field names. If headers don’t match exactly, you can manually adjust the mapping before finalizing the import.

Before you import: Preparation steps

Verify your table structure: Ensure your existing table has the correct field types configured. Importing dates into text fields or numbers into single-select fields causes mismatches. Review your field types before importing.

Prepare your import file: Match column headers in your import file to field names in your Baserow table for automatic mapping. Clean your data by removing empty rows, ensuring consistent formatting, and verifying special characters display correctly. For updates rather than new rows, include a unique identifier column (like ID or email) that exists in both your file and table.

Decide update strategy: Choose whether to append all rows as new records or update existing records when matches are found. Updating prevents duplicates but requires matching logic, while appending is simpler but may create duplicate entries if the same data is imported twice.

How to import into an existing table

  1. Open the table where you want to add data
  2. Click the ellipsis ••• beside any view name to open view settings
  3. Select Import file from the dropdown menu
  4. Choose your file type (CSV, JSON, XML, or paste data)
  5. Upload your file or paste data directly
  6. Review field mapping to ensure columns align with the correct fields
  7. Choose update behavior:
    • Leave unchecked to append all rows as new records
    • Check “Update rows if they already exist” to refresh matching records
  8. Click Import to complete the process

Understanding field mapping

Field mapping connects columns in your import file to fields in your Baserow table. Baserow attempts automatic mapping by matching column headers to field names, but you have full control to adjust these connections.

Automatic mapping works when: Your import file’s column headers exactly match your table’s field names. For example, if your table has fields named “Customer Name,” “Email,” and “Purchase Date,” and your CSV has columns with identical names, Baserow maps them automatically.

Manual mapping is needed when: Column headers don’t match field names exactly, you want to import a column into a different field than the name suggests, or you’re importing only some columns and want to skip others.

Preview your mapping: Toggle between “Import Preview” and “File Content” views to compare how your source data will map to table fields. The Import Preview shows exactly what will appear in your table after import, while File Content shows your original file structure. This comparison helps catch mapping errors before finalizing the import.

Handling incompatible data: If imported data doesn’t match the field type (like text into a number field), those cells remain empty after import. Review the preview carefully to identify potential mismatches and fix them in your source file or adjust field types before importing.

Update vs. append: Choosing the right strategy

Append new records (default)

Every row in your import file creates a new record in your table, regardless of whether similar data already exists. This is the simplest option and works well when you’re certain your import contains only new information.

Best for: Importing time-series data (daily sales reports), adding new entries (new customer signups), and situations where duplicates aren’t a concern or will be cleaned up later.

Update existing records

When you check “Update rows if they already exist,” Baserow compares imported rows to existing records and updates matches instead of creating duplicates. This requires your table to have a unique identifier field (like ID, email, or order number) that exists in both your table and import file.

How matching works: Baserow uses the primary field or a unique identifier you specify to find matches. When a match is found, that row is updated with new values from your import. Rows without matches are added as new records.

Best for: Refreshing data from external systems (updating inventory levels, syncing CRM contacts), correcting information in bulk (fixing addresses or phone numbers), and maintaining single-source-of-truth without manual deduplication.

Special field handling

Link to table fields: The importer automatically creates relationships when you import into link to table fields. If your import contains references to records in other tables (like customer IDs or product codes), Baserow finds the matching records and establishes the links.

Single and multiple select fields: When importing into single select or multiple select fields, Baserow automatically creates new options if they don’t exist. For example, importing “Red” and “Blue” into a color select field that only has “Green” will add Red and Blue as new options.

Date and number fields: Data must match the expected format. Dates should follow ISO format (YYYY-MM-DD) or your region’s standard format. Numbers should use consistent decimal separators. Text in these fields results in empty cells after import.

Frequently asked questions

What happens if my imported data doesn’t match field types?

Cells with incompatible data remain empty after import. For example, importing “N/A” into a number field leaves that cell blank. Review the import preview before finalizing to identify mismatches, then either fix your source data or temporarily change field types to accommodate the import.

Can I import data into some fields but not others?

Yes, during field mapping, you can choose which columns to import and which to ignore. Fields not included in the mapping remain unchanged, preserving existing data. This is useful when your import file contains extra columns you don’t need in Baserow.

How do I avoid creating duplicate records?

Use the “Update rows if they already exist” option and ensure your table has a reliable unique identifier field (email, ID number, SKU, etc.). Baserow uses this field to match imported rows with existing records. Without a unique identifier, every import creates new rows even if the data looks identical.

What’s the maximum number of rows I can import?

You can import up to 5,000 rows at once into existing tables. For larger datasets, split your import file into multiple batches under 5,000 rows each. Import them sequentially, using update mode if needed to avoid duplicates across batches.

Can I undo an import if something goes wrong?

Within 5 seconds of completing an import, an undo button appears at the bottom-right of your screen. Click it to instantly reverse the import. After 5 seconds, you can restore from trash if you delete affected rows.

Troubleshooting common issues

Field mapping looks wrong: Column headers in your import file likely don’t match field names in your table. Manually adjust the mapping before importing, or rename columns in your source file to match exactly.

Select field options not appearing: Ensure your import data matches existing options exactly, including capitalization and spacing. Baserow creates new options automatically, but typos create unintended duplicates (“Red” vs. “red”).

Date fields showing empty: Your date format may not be recognized. Use ISO format (YYYY-MM-DD) or your region’s standard format. Dates written as text (“January 1st”) won’t import correctly.

Update mode not finding matches: Your unique identifier field may contain slight variations (extra spaces, different capitalization). Clean your data to ensure exact matches, or use the primary field which Baserow always uses for matching.

Import job stuck or pending

If import shows “pending” or “running” for extended periods, it could be because of system timeout or file processing issues. Jobs automatically fail and clear after 90-95 minutes. Wait for the timeout, then try again with a smaller file or a different format.

Work with imported data:

Alternative methods:


Still need help? If you’re looking for something else, please feel free to make recommendations or ask us questions; we’re ready to assist you.