Une clé primaire est un champ de table de base de données spécial désigné pour identifier de manière unique chaque enregistrement de table.
## Utilisation de la clé primaire
Comme il identifie de manière unique un enregistrement individuel d'une table, il est utilisé en interne par NocoDB pour toutes les opérations associées à un enregistrement.
## Clé primaire dans NocoDB
La clé primaire définie/utilisée dans NocoDB dépend de la façon dont la table sous-jacente a été créée. Le résumé est capturé ci-dessous
1. Depuis l'interface utilisateur, créer un nouveau tableau / Importer depuis Excel / Importer depuis CSV
2. Connectez-vous à une base de données externe existante
1. Existant`primary key`le champ défini pour une table est conservé tel quel; NocoDB n'insère pas de nouveau champ ID
2. Champs système supplémentaires`created-at`,`updated-at`ne sont pas insérés par défaut
3. Importer depuis Airtable
1. L'ID de l'enregistrement Airtable est marqué comme clé primaire pour les enregistrements importés et est mappé au champ`ncRecordId`\[type de données: varchar]
2. Si un nouvel enregistrement est inséré après la migration et si le champ ncRecordId a été omis lors de l'insertion de l'enregistrement - la chaîne générée automatiquement sera insérée par NocoDB
3. La valeur de hachage calculée pour l'ensemble de l'enregistrement est stockée dans le champ système`ncRecordHash`
4. Champs système supplémentaires`created-at`,`updated-at`ne sont pas insérés par défaut
1. NocoDB n'introduit pas de champ de clé primaire par défaut lors de la création d'une table via le SDK/API. Pour définir une clé primaire, il est nécessaire de spécifier explicitement l'attribut `pk: true`.
Dans de tels scénarios, il est possible de créer de nouveaux enregistrements dans NocoDB pour cette table. Cependant, ces enregistrements ne peuvent ni être mis à jour ni être supprimés. La raison est que NocoDB n'a aucun moyen d'identifier de manière unique ces enregistrements.
:::Info**Puis-je remplacer la clé primaire par un autre champ dans les tables?**
* Vous ne pouvez pas mettre à jour la clé primaire à partir de l'interface utilisateur NocoDB. Vous pouvez le reconfigurer directement au niveau de la base de données et déclencher`meta sync`explicitement.