Comment ajouter une clé étrangère dans phpMyAdmin




PHPMyAdmin: clé étrangère, qu'est-ce que c'est?

Dans le langage de base de données SQL en général, et en particulier dans PHPMyAdmin, une clé étrangère est un champ d'une table de la base de données qui dépend du champ d'une autre base de données.

Cela signifie qu'il n'est pas possible de créer une entrée dans une table référençant via une clé étrangère une autre table, si l'autre table ne contient pas d'entrée correspondant à la clé étrangère en cours d'insertion.

Par exemple, cela revient à relier une bouteille et son bouchon - vous ne pouvez pas utiliser le bouchon si la bouteille n’y est pas.

En ajoutant une clé étrangère PHPMyAdmin à une table, vous vous assurerez que toute entrée de cette table a une référence directe à une entrée unique d'une autre table. Une bonne pratique généralement acceptée consiste à créer une clé étrangère PHPMyAdmin pour référencer d'autres champs indexés de tables, tels que des clés primaires, des clés uniques ou des clés indexées, afin de s'assurer qu'une seule entrée est référencée de manière unique par la clé étrangère PHPMyAdmin créée.

Clé étrangère PHPMyAdmin et relations de table - Relations - Documentation phpMyAdmin 5.1.0-dev

Comment définir une clé étrangère dans phpmyadmin

L'ajout d'une clé étrangère dans phpMyAdmin est assez simple, mais l'option peut être difficile à trouver.

Ouvrez la table dans laquelle vous voulez ajouter la clé étrangère. Allez dans l'onglet Structure, dans lequel vous trouverez un sous-menu appelé Relation View. Là, sélectionnez la colonne qui contiendra la clé étrangère et la table et la colonne référencées par cette clé.

Comme les menus peuvent être assez difficiles à trouver, reportez-vous aux captures d'écran ci-dessous.

Il est également possible d'ajouter une clé étrangère avec le code SQL suivant:

ALTER TABLE `table1` ADD FOREIGN KEY (`FK_table2`) REFERENCES `table2`(`ID`) ON DELETE RESTRICT ON UPDATE RESTRICT;

Créer une clé étrangère phpmyadmin


La création d'une clé étrangère permet plusieurs options, notamment s'assurer qu'une colonne ne contient que des entrées existant dans une autre table, la possibilité d'empêcher la suppression d'entrées dans l'autre table ou de cascader la suppression dans des tables référencées.

Mais l'une des options les plus utiles, dans l'interface phpMyAdmin, est d'obtenir une liste déroulante avec les entrées de l'autre table, lors de l'insertion d'entrées dans une table contenant des clés étrangères.

Il est même possible de décider quelle valeur est affichée par défaut à partir d'une table, lorsque celle-ci est référencée par une clé étrangère dans une autre table, comme dans l'exemple ci-dessous.

Comment utiliser une clé étrangère dans PHPMyAdmin

Dans la section des contraintes de clé étrangère d'une table, une colonne indexée peut être définie en tant que clé étrangère, simplement à l'aide de l'interface graphique.

Comment supprimer une clé étrangère dans PHPMyAdmin

Ouvrez la table dans laquelle vous souhaitez supprimer une clé étrangère dans l'interface PHPMyAdmin. Accédez à la vue structure> relation, puis cliquez dans la ligne correspondant à la clé étrangère que vous souhaitez supprimer dans PHPMyAdmin.

Vue de relation PHPMyAdmin manquante

La vue des relations se trouve sous le nom de l'onglet Structure, après la sélection d'une table dans l'interface graphique PHPMyAdmin.



Conseil en affaires internationales
A propos de l'auteur - Conseil en affaires internationales
Yoann est consultant en commerce international, facilitateur et coordinateur. Il a travaillé plus de 10 ans dans le commerce mondial, la chaîne d'approvisionnement, la finance, des projets SAP ERP, l'optimisation Web et SEO pour divers secteurs, tels que la logistique, les cosmétiques, les biens de consommation, les soins de beauté ou la mode, dans plus de 30 pays à travers le monde. .
 


commentaires (12)

 2018-08-19  Joan Shaw
この情報を読んで素晴らしい時間を過ごして、良い仕事を続けてください
 2018-08-19  Jon Valdez
ขอบคุณมากข้อมูล
 2018-08-19  Larry Hart
ง่ายชัดเจนและอธิบายได้ดีขอบคุณมาก
 2018-08-19  Kimberly Jenkins
Ótimo site, por favor, continue indo
 2018-08-19  Alice Alexander
Eso funcionó bien para mí, no hay necesidad de buscar más
 2018-08-19  Tinkeragea
Nagyszerű oldal, kérem folytassa
 2018-08-19  randopassionA
안녕하세요, 귀하의 기사를보고 그것이 내 문제를 해결하는 데 도움이 감사합니다.
 2018-08-19  mamanoursec
هذا جيد بالنسبة لي ، لا حاجة للنظر إلى أبعد من ذلك
 2018-08-19  histologit
Nevaru ticēt, ka beidzot atradu risinājumu, tas jau ilgu laiku bija murgs, tagad tas ir atrisināts
 2018-08-19  Pyperermatto
Sekeping maklumat yang besar, terima kasih kerana berkongsi
 2018-08-19  tehnikovx
Tidak percaya saya akhirnya mendapati penyelesaian itu, ini adalah mimpi ngeri untuk masa yang lama, kini diselesaikan
 2018-08-19  LokubusaS
Vet ikke hvordan du skal takke deg, men det er rent geni, takk

laissez un commentaire