# Primary Key

> Part of the NocoDB documentation (Product docs > Tables > Fields). Index of all pages: https://nocodb.com/llms.txt. Any docs page is available as Markdown by adding `.md` to its URL.

URL: https://nocodb.com/docs/product/tables/fields/primary-key
Last updated: 2026-09-25

This article explains what a primary key is and how it is used in NocoDB.

A primary key is a special database table field designated to uniquely identify each table record. As it uniquely identifies an individual record of a table, it is used internally by NocoDB for all operations associated with a record

## Primary Key in NocoDB

Primary Key that gets defined / used in NocoDB depends on how underlying table was created. Summary is captured below

1. From UI, Create new table / Import from Excel / Import from CSV
   1. An `ID` \[datatype: Integer] system field created by default during table creation is used as primary key
   2. Additional system fields `created-at`, `updated-at` are inserted by default

2. Connect to existing external database
   1. Existing `primary key` field defined for a table is retained as is; NocoDB doesn't insert a new ID field
   2. Additional system fields `created-at`, `updated-at` are not inserted by default

3. Import from Airtable
   1. Airtable record ID is marked as primary key for imported records, and is mapped to field `ncRecordId`  \[datatype: varchar]
   2. If a new record is inserted after migration & if ncRecordId field was omitted during record insertion - auto generated string will be inserted by NocoDB
   3. Computed hash value for the entire record is stored in system field `ncRecordHash`
   4. Additional system fields `created-at`, `updated-at` are not inserted by default

4. Create new table using SDK / API
   1. No default primary key field is introduced by NocoDB. It has to be explicitly specified during table creation (using attribute `pk: true`)

### FAQ

**What if Primary Key was missing?**

In NocoDB, it's possible for a table to have no primary key—this can happen if the table is created externally or through the SDK/API without specifying one. While new records can still be added to such tables, updating or deleting them won’t be possible since there's no unique identifier to reference each record.

**Can I change the Primary Key to another field within tables?**

You can't update Primary Key from NocoDB UI. You can reconfigure it at database level directly & trigger `meta sync` explicitly.

---

## Related pages

- [Display Value](https://nocodb.com/docs/product/tables/fields/display-value.md): This article explains how to set the display value for a table and its significance.
- [Multi-Field Editor](https://nocodb.com/docs/product/tables/fields/multi-fields-editor.md): Understanding use of multi-field editor in NocoDB!
- [Field Summary](https://nocodb.com/docs/product/tables/fields/field-summary-footer.md): Understanding the field summary bar in NocoDB!
- [Actions on Field](https://nocodb.com/docs/product/tables/fields/actions-on-field.md): This article explains how to perform various actions on a field- like rename, change field type, default, field width, record height, show/hide.
