phpMyAdmin : Configuration des clés étrangères
Lors de l'établissement d'une base de données relationnelle à l'aide de phpMyAdmin, vous pouvez rencontrer le message « Non index défini!" erreur lors de la tentative de configuration de clés étrangères pour les tables intermédiaires. Cet article explore les étapes nécessaires pour résoudre ce problème et créer efficacement des contraintes de clé étrangère.
Prérequis
- Créez deux tables, indexés sur leurs clés primaires, avec les champs de clé primaire définis sur INT(11).
- Convertir toutes les tables au moteur InnoDB, qui prend en charge les clés étrangères.
Création de la relation de clé étrangère
Une fois ces conditions remplies, suivez ces étapes :
- Ouvrez la table intermédiaire (par exemple, foo_bar) dans phpMyAdmin.
- Accédez à l'onglet "Vue des relations".
- Dans la colonne "Clé étrangère" pour foo_bar.foo_id, sélectionnez la table contenant la colonne de clé primaire référencée (par exemple, database.foo ).
- Répétez l'étape 3 pour foo_bar.bar_id, en faisant référence à la table appropriée (par exemple, database.bar).
- Définissez les actions « Sur mise à jour » et « Sur suppression » (par exemple, Restreindre, Cascade, Définir la valeur nulle, etc.).
Résoudre le problème « Aucun index défini ! » Erreur
Si le message "Aucun index défini !" L'erreur persiste, assurez-vous que les étapes suivantes sont suivies :
- Créez un index sur la colonne de clé étrangère dans la table de référence (foo_bar.foo_id).
- Vérifiez que les tables de référence et les tables référencées ont le moteur InnoDB sélectionné.
Avantages de l'utilisation de Foreign Clés
La définition explicite de clés étrangères dans la base de données offre plusieurs avantages :
- Assure l'intégrité des données en garantissant que les données référencées existent.
- Empêche les incohérences des données lorsque les lignes sont supprimées ou mises à jour.
- Simplifie les tâches de manipulation de données, en particulier dans les tâches multi-tables scénarios.
- Améliore les performances de la base de données en optimisant la récupération des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn