phpMyAdmin
 sql >> Base de données >  >> Database Tools >> phpMyAdmin

Contrainte de clé étrangère composite via PhpMyAdmin ?

Je viens de rencontrer un problème similaire lors de la configuration d'une clé étrangère composite dans phpMyAdmin et peut-être que ma solution pourrait également vous aider.

Voici ma configuration :

Comme vous pouvez le voir, j'ai une clé primaire composite dans ma table ConferenceRoom, dont une partie est également une clé étrangère vers streetaddress dans le tableau Office (cela peut différer de votre problème).

Cette clé primaire composite doit être référencée par une clé étrangère composite dans la table InstPicture mais le problème pour moi était que, malgré avoir défini les deux comme index de clé primaire, phpMyAdmin ne référencerait que le name colonne dans la clé primaire ConferenceRoom, et non office_streetaddress colonne.

Ce qui me manquait ici, c'est que je n'avais pas configuré la relation entre ConferenceRoom et Office avant essayant de configurer celui entre ConferenceRoom et InstPicture. Je suppose que j'ai oublié de gérer d'abord les entités fortes, comme le dicte la méthodologie de la base de données.

Lorsque la relation a été définie entre ConferenceRoom et Office, le office_streetaddress la colonne apparaissait dans la liste des colonnes indexées et pouvait-elle être référencée par le conferenceroom_office_streetaddress colonne dans la table InstPicture.

J'espère que cela pourra également vous aider, essayez peut-être de créer un index séparé pour votre colonne Log.Service. Ou s'il s'agit d'un FK, configurez ses relations, puis réessayez.