web-dev-qa-db-fra.com

Ajouter une clé étrangère dans PgAdmin

J'ai studidtemplates tableau ci-dessous:

enter image description here

template_id est la clé_principale

enter image description here

Je souhaite créer une nouvelle table référençant template_id comme un foreign key. Il s'appelle studidtemplatetextelements. Voir l'image ci-dessous:

enter image description here

J'ai créé une colonne template_id dans le deuxième tableau et souhaitez en faire une clé étrangère référençant template_id dans studidtemplates table. Je l'ai fait en cliquant sur le bouton dans l'onglet Constraints, pointé par une flèche dans l'image ci-dessous.

enter image description here

Je remarque quelque chose de différent. Dans l'option 'Référencement', il n'y a pas de template_id option disponible. Voir l'image ci-dessous:

enter image description here

Où suis-je manquant?

10
user4621642

Dans pgAdmin 4, voici les étapes:

  1. Cliquez avec le bouton droit sur le tableau et sélectionnez Propriétés .
  2. Dans la boîte de dialogue qui apparaît, cliquez sur Contraintes / Clé étrangère .
  3. Cliquez sur l'icône + dans le coin supérieur droit du tableau des clés étrangères.
  4. Cliquez sur le icône de crayon, qui se trouve tout à gauche de la nouvelle ligne qui apparaît maintenant dans le fichier étranger table clé.
  5. Sous l'onglet Général, donnez un nom à votre clé étrangère (je suis cette convention de {nom de table} _ {nom de colonne} _fkey ).
  6. Sous l'onglet Colonnes, sélectionnez vos références.
  7. Cliquez sur l'icône + à droite de la "colonne locale".
  8. Cliquez sur le bouton Enregistrer en bas.

Voici une capture d'écran:

pgAdmin 4 foreign key dialog

23
rotarydial

Les colonnes répertoriées sous Referencing sont des colonnes qui appartiennent à la table sélectionnée.

Vous devez modifier la table sélectionnée dans References comme suit: enter image description here

Quelle version de pgAdmin utilisez-vous? La zone de texte Références a été déplacée vers l'onglet Colonnes dans la version 1.16 :

Dans la boîte de dialogue des propriétés de clé étrangère, la zone de texte du tableau "Références" a été déplacée vers le troisième onglet

3
Elad