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
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.

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.
While you cannot delete or move the primary field, you can customize it like other fields.
Designate a different field as the primary field when your current primary doesn’t effectively identify rows.
Use this method when you want to immediately swap which field serves as primary.
To change the primary field:

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.
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:
Ctrl/Cmd + C)Ctrl/Cmd + V)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.

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

Baserow attempts to convert existing data to the new type, but some conversions may lose data. Use
Ctrl/Cmd + Zimmediately if the conversion loses data you need.
| 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.
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 |
| 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.
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.
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.
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.
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.
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.
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.