多维表格
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

3.4 KiB


titre : "Clé primaire" description : "Cet article explique ce qu'est une clé primaire et comment elle est utilisée dans NocoDB." balises : ['Champs', 'Clé primaire'] mots-clés : ['Clé primaire NocoDB', 'clé primaire', 'clé primaire dans NocoDB', 'clé primaire dans la base de données']

Clé primaire

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
    1. Un ID Le champ système [datatype : Integer] créé par défaut lors de la création de la table est utilisé comme clé primaire
    2. Champs système supplémentaires created-at, updated-at sont insérés par défaut
  2. Connectez-vous à une base de données externe existante
    1. Existantprimary keyle champ défini pour une table est conservé tel quel ; NocoDB n'insère pas de nouveau champ ID
    2. Champs système supplémentairescreated-at,updated-atne 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 champncRecordId[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èmencRecordHash
    4. Champs système supplémentairescreated-at,updated-atne sont pas insérés par défaut
  4. Créer une nouvelle table à l'aide du SDK/API
    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.

:::InfoEt si la clé primaire manquait ?

Il est possible d'avoir une table sans aucune clé primaire.

  • Une table de base de données externe peut être créée sans configuration de clé primaire.

  • Une nouvelle table peut être créée à l'aide du SDK/API sans clé primaire

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

:::InfoPuis-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éclenchermeta syncexplicitement. :::