11
votes

PHPMYADMIN CLÉ ÉTRANGÈRES Valeurs de terrain déroulante

J'utilise phpmyadmin ( php & mysql ) et j'ai beaucoup de problèmes liés aux tables à l'aide de clés étrangères.

Je reçois Valeurs négatives pour le champ CountyID (qui est la clé étrangère). Cependant, il lie à mon autre table amende et c'est bien en cascade.

Lorsque je vais ajouter des données, une boîte de dépôt pour le comté et les valeurs ressemblent à ceci. , xxx

voici mon énoncé de modification: xxx


2 commentaires

D'une manière ou d'une autre, je ne sais pas si cela est lié à la programmation ou non. Votre relevé SQL a l'air bien. Je n'ai aucun aperçu de phpmyadmin et à ce sujet, votre question lit plus comme "Comment utiliser l'application phpmyadmin".


Cela n'a rien à voir avec la requête, ni la clé elle-même. Votre boîte de déroulée pour sélectionner les valeurs ne dispose pas d'une entrée négative, dans ce cas, quelle que soit celle que vous choisissez, vous entrez la valeur «1». Pourquoi PMA le représente de cette manière; Je ne sais pas...


5 Réponses :


-1
votes

Vérifiez si vos tables utilisent MyISAM Moteur. Dans ce cas, les clés étrangères ne sont pas prises en charge. Utilisez InnoDB à la place.


5 commentaires

Ouais, les deux tables utilisent un moteur InnoDb.


PHPMYADMIN utilise MyISame par défaut de toute façon pour changer cela? J'ai essayé de chercher mais je n'ai rien trouvé. Parce que je viens de changer les tables à Innodb .... Pourriez-vous être le problème?


La valeur par défaut dans MySQL est myisam, ce n'est pas une option phpmyadmin. Vérifiez sur la documentation MySQL sur les moteurs de base de données à: Dev.MYSQL .COM / DOC / REFMAN / 5.1 / FR / STOCKAGE-ENGINES.HTML


Pour modifier le moteur par défaut, utilisez l'option Storage-Stockage-Engine = InnoDB sur votre fichier my.cnf


Comment cette réponse est-elle liée à la question?



6
votes

Vous pouvez modifier le look de cette liste déroulante à l'aide de l'option ForedReyKydropdownorder code>. (Voir le Documentation PMA ).

Exemple: P>

$cfg['ForeignKeyDropdownOrder'] = array( 'content-id');
/* 'content' is the referenced data, 'id' is the key value. */


0 commentaires

3
votes

Comme le dit Lex, il s'agit simplement de la façon dont PhpMyAdmin affiche les valeurs. Si vous voyez "-1" ou "1-" dans cette boîte déroulante, il est juste 1.


0 commentaires

9
votes

Comme je l'ai expliqué sur ServerFault :

Ce n'est pas un numéro Negaitve, la fonctionnalité de phpmyadmin est de montrer la valeur de la clé étrangère et un champ de description personnalisé à côté de celui-ci. Dans la table référencée (comtés), vous pouvez accéder à "Vue relativement" et sous le tableau, il existe une zone de sélection "Choisir le champ à afficher", dans laquelle vous choisissez une valeur qui sera affichée à côté de la valeur CountyID dans la table de référencement (baronies ). Voir également: Phpymadminwiki


0 commentaires

-1
votes

aller à l'opération que de changer Myisam en InnoDB que d'aller


1 commentaires

Je ne peux pas faire beaucoup de sens, mais cela ne semble pas avoir beaucoup à faire avec les clés étrangères. Peut-être que certains plus de détails seraient utiles.