MySQL : Lister toutes les clés étrangères (FOREIGN KEY) d’une base de données

La requête ci-dessous permet d’avoir un état des lieux de toutes les clés étrangères toutes tables confondues pour une base de données MySQL. Par défaut sous phpMyAdmin il n’est évident de retrouver cette information bien qu’il soit possible de lister les clés étrangères en utilisant la vue relationnelle au niveau d’une table. Notez que vous devez utiliser le moteur InnoDB pour pouvoir créer des clés étrangères sous MySQL.

La requête utilise le schéma d’information MySQL de la base de données afin d’en extraire les clés étrangères. Il vous suffit de remplacer ‘database_name’ par le nom de votre base de données dans la requête :

SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE `table_schema` LIKE 'database_name' AND `constraint_type` = 'FOREIGN KEY';

Il peut être utile d’obtenir cette liste lorsque vous avez besoin de supprimer toutes les clés étrangères d’une base de données pour effectuer des changements de structures sur certaines tables.

Pour rappel, vous pouvez supprimer une clé étrangère en utilisant son identifiant interne via cette requête :

ALTER TABLE `table_name` DROP FOREIGN KEY `table_name_foreign_key_ibfk_1`;

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nos partenaires

PrestaShop

PrestaShop nous fait confiance en nous délivrant la certification Expert qui démontre notre expertise concernant leur logiciel e-commerce. Nous avons également obtenu deux certifications officielles PrestaShop Fullstack Developer.

PayPlug

PayPlug est la solution de paiement française qui simplifie le paiement pour l’ensemble des TPE et PME de l'e-commerce, aussi bien en ligne qu’en magasin.

Klaviyo

Klaviyo, leader mondial du marketing automation, propose une solution complète qui s'interface avec vos canaux de vente.