Understanding the primary field in Baserow

The primary field in Baserow is your table’s identity column; the name or identifier that represents each row throughout your database, in relationships, forms, and integrations, making it the most important field design decision in your table.

This guide explains the primary field, the special first field that identifies each row, including how to configure it, change it to a different field, and choose the best field type for row identification.

Learn more: Configure field types

Overview

The primary field is the first field in every Baserow table, serving as the unique identifier and display name for each row. When you link rows between tables, create relationships, or reference records elsewhere in your database, Baserow uses the primary field value to represent that row, making it the human-readable “name” of your record.

The primary field is what you see when you need to identify a record quickly. Unlike other fields, the primary field cannot be deleted, hidden, or moved from its first-column position, ensuring every table has a consistent way to identify its rows.

Choosing the right primary field is crucial for database usability. A well-designed primary field makes records instantly recognizable in dropdowns, relationship pickers, and throughout your workspace. Poor primary field choices (like IDs or dates) force users to open full records to understand what they’re looking at.

Primary field image

Why the primary field matters

Record identification: Primary field values appear as row names in Link-to-table fields, making relationships understandable at a glance.

Form integration: When forms link to other tables, users see primary field values in dropdown selectors to choose related records.

API responses: API queries return primary field values as the main identifier, helping external systems interpret your data.

User experience: Well-chosen primary fields make tables scannable; users recognize records instantly without opening details.

Data relationships: Changing the primary field affects how linked records display across your entire database, impacting all relationship views.

How to configure the primary field

While you cannot delete or move the primary field, you can customize it like other fields.

Available configuration options:

To access configuration:

  • Click the dropdown arrow next to the primary field name
  • Select your desired configuration option from the menu
  • Make changes and save

How to change which field is primary

Designate a different field as the primary field when your current primary doesn’t effectively identify rows.

Method 1: Direct primary field change

Use this method when you want to immediately swap which field serves as primary.

To change the primary field:

  1. Click the dropdown arrow next to the current primary field name
  2. Select Change primary field from the menu
  3. Choose which existing field should become the new primary field
  4. Confirm the change

Changing the primary field in Baserow

Use this when: you already have a field with better identifying information, you want to immediately update all relationships, or the new field has complete, non-empty data

Changing the primary field affects all Link-to-table relationships throughout your database. Linked records will display the new primary field value instead of the old one. Review linked tables after changing to ensure relationships still make sense.

Method 2: Copy-paste with manual population

Use this method when you need to transform or combine data before making it the primary field.

To create and populate a new primary field:

  1. Create a new field with the same data type as your intended primary data
  2. Select all data in your current primary field
  3. Copy the data (Ctrl/Cmd + C)
  4. Paste into the new field (Ctrl/Cmd + V)
  5. Make any necessary edits to the new field’s data
  6. Use Method 1 above to designate the new field as primary
  7. Optionally delete or repurpose the old primary field

Use this when: You need to modify primary field data before making it primary, you want to preserve the old primary field data, you’re combining multiple fields into a new primary field, or you want to test the new identifier before fully committing.

Copying primary field data

How to change the primary field type

Convert your primary field to a different data type while keeping it as the primary identifier.

To change primary field type:

  1. Click the dropdown arrow next to the primary field name
  2. Select Edit field
  3. Choose a new field type from the dropdown
  4. Configure type-specific settings
  5. Click Save to apply

Changing primary field type

Baserow attempts to convert existing data to the new type, but some conversions may lose data. Use Ctrl/Cmd + Z immediately if the conversion loses data you need.

Primary field restrictions

Restriction Reason Workaround
Cannot delete Every row needs an identifier Designate different field as primary, then delete old one
Cannot hide Must always be visible for row identification Use views to control other field visibility
Cannot move Fixed at first position No workaround; design tables with this in mind
Cannot be link field Would create circular reference issues Use Lookup fields to display linked data
Always required Empty primary fields make rows unidentifiable Design primary field to always have meaningful values

These restrictions ensure database consistency and prevent scenarios where rows become unidentifiable or relationships break.

Supported primary field types

The primary field supports almost all field types, including AI prompt, Created by, Last modified by and Collaborators field, giving you flexibility in how you identify rows:

Field type Best for Example use case
Single line text Names, titles, codes Customer names, product names, project titles
Long text Descriptions Article titles, note summaries
Number, UUID, Autonumber, Duration Numeric IDs, sequential Invoice numbers, order IDs, ticket numbers
Rating Rarely useful Rating scale values (uncommon)
Boolean Not recommended Only 2 possible values
Date, Last modified, Created on Time-based records Daily log entries, historical events
Email User identification User accounts, contact lists by email
File Document identification File library by filename
URL Link-based records Website directories, bookmark collections
Multiple select Display only Shows multiple tags but limited utility
Single select Category-based tables Status types, priority levels (when each is a unique record)
Phone number Contact-based records Support tickets by caller phone
Formula Computed identifiers Concatenated “First Name + Last Name”, generated codes
Count, Rollup, Lookup Display linked data Show customer name from linked customer table

Not supported: Link-to-table fields cannot be a primary field to avoid circular reference issues.

Primary field best practices

  • Choose descriptive identifiers: Use Single-line text for primary fields. Text-based identifiers are most readable in relationships and forms.
  • Use formulas for compound identifiers: When no single field uniquely identifies rows, create a Formula field combining multiple fields. Set this Formula field as your primary field for clear, unique identifiers.
  • Ensure uniqueness and completeness: While Baserow doesn’t enforce uniqueness on primary fields (use unique constraints for that), best practice is to ensure every row has a primary field value (no empty cells), primary field values are distinctive (avoid many “Untitled” entries), and similar records have distinguishable primary field values
  • Plan before linking: Choose your primary field carefully before creating link-to-table relationships. Changing it later updates all linked record displays, which may confuse users if the new identifier is less clear than the old one.

Frequently asked questions

Why can’t I delete the primary field?

Every table needs a way to identify rows. The primary field serves as this universal identifier across Baserow; in relationships, forms, API responses, and the interface. Deleting it would break references and make rows unidentifiable.

Can I hide the primary field in specific views?

No, the primary field cannot be hidden in any view. This ensures rows always have visible identifiers. If you need a view without the primary field visible, consider whether a different table structure might better fit your needs.

What happens to linked records when I change the primary field?

All link-to-table relationships automatically update to display the new primary field value instead of the old one. For example, if you change from “Customer ID” to “Customer Name,” all linked records now show the name instead of the ID.

Can I use a Lookup field as my primary field?

Yes, Lookup fields can be primary fields. This displays data from linked tables as your row identifier. For example, in an Orders table, you might make a lookup of Customer Name from the linked Customers table your primary field.

Should I use unique identifiers or descriptive names as primary fields?

Use descriptive names whenever possible. Primary fields appear throughout your database interface, and “Website Redesign Project” is far more useful than “PRJ-001” for human users. Reserve ID-based primary fields for tables where no descriptive name exists.

Can I have the same value in the primary field for multiple rows?

Technically, yes; Baserow doesn’t enforce uniqueness on primary fields. However, duplicate primary field values defeat the purpose of row identification. Use unique constraints on your primary field to prevent duplicates and maintain data quality.


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.