J'utilise phpmyadmin ( Je reçois Valeurs négatives pour le champ Lorsque je vais ajouter des données, une boîte de dépôt pour le comté code> et les valeurs ressemblent à ceci. , p> voici mon énoncé de modification: p> php code> &
mysql code>) et j'ai beaucoup de problèmes liés aux tables à l'aide de clés étrangères.
CountyID code> (qui est la clé étrangère). Cependant, il lie à mon autre table amende et c'est bien en cascade. P>
5 Réponses :
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. P>
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?
Vous pouvez modifier le look de cette liste déroulante à l'aide de l'option Exemple: P> ForedReyKydropdownorder code>. (Voir le Documentation PMA ).
$cfg['ForeignKeyDropdownOrder'] = array( 'content-id');
/* 'content' is the referenced data, 'id' is the key value. */
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. P>
Comme je l'ai expliqué sur ServerFault : p>
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 P>
aller à l'opération que de changer Myisam en InnoDB que d'aller p>
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.
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...