[SQL] Problème de clé
Fermé
kanadianDri3
Messages postés
85
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
12 juillet 2010
-
28 mai 2009 à 16:01
kanadianDri3 Messages postés 85 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 12 juillet 2010 - 29 mai 2009 à 12:24
kanadianDri3 Messages postés 85 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 12 juillet 2010 - 29 mai 2009 à 12:24
A voir également:
- [SQL] Problème de clé
- Clé windows 10 - Guide
- Cle usb non reconnu - Guide
- Clé bootable windows 10 - Guide
- Formater clé usb mac - Guide
- Recuperer cle windows - Guide
4 réponses
Giorgiolino
Messages postés
251
Date d'inscription
vendredi 15 mai 2009
Statut
Contributeur
Dernière intervention
2 mars 2015
52
28 mai 2009 à 16:41
28 mai 2009 à 16:41
Bonjour,
le mot KEY fait effectivement référence à l'index comme tu as déja pu le trouver.
C'est une aide que l'on apporte au SGBDR pour lui permettre d'effectuer un peu
plus rapidement les tris sur les données des tables, c'est tout.
Rien de méchant donc.
Bon (dé-)codage.
le mot KEY fait effectivement référence à l'index comme tu as déja pu le trouver.
C'est une aide que l'on apporte au SGBDR pour lui permettre d'effectuer un peu
plus rapidement les tris sur les données des tables, c'est tout.
Rien de méchant donc.
Bon (dé-)codage.
kanadianDri3
Messages postés
85
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
12 juillet 2010
10
28 mai 2009 à 17:47
28 mai 2009 à 17:47
Merci !! Au moins maintenant je comprends mieux :)
Par contre comment ca se fait que, d'en d'autre tables, le noms de certains champs commencent par 'fk_' ce qui fait référence à des clé primaire d'autre table (donc des clés étrangères dans les tables en question). J'ai vérifié, elle vont bien prendre valeur des clés auxquelles elles sont associées.
Quand je fais mon show create table, je n'ai pas la liste des contraintes qui s'affichent. Comment faire pour savoir qu'elles sont les diffèrentes clés étrangères présentes dans les tables ? Je vais avoir du mal à retracer les liaisons si je ne sais pas à quoi elles font références.
Bref, j'suis un peu bloqué. J'ai l'impression que celui avant moi y est aller au marteau bourrin. Merci pour vos réponses !! =)
kanadian
Par contre comment ca se fait que, d'en d'autre tables, le noms de certains champs commencent par 'fk_' ce qui fait référence à des clé primaire d'autre table (donc des clés étrangères dans les tables en question). J'ai vérifié, elle vont bien prendre valeur des clés auxquelles elles sont associées.
Quand je fais mon show create table, je n'ai pas la liste des contraintes qui s'affichent. Comment faire pour savoir qu'elles sont les diffèrentes clés étrangères présentes dans les tables ? Je vais avoir du mal à retracer les liaisons si je ne sais pas à quoi elles font références.
Bref, j'suis un peu bloqué. J'ai l'impression que celui avant moi y est aller au marteau bourrin. Merci pour vos réponses !! =)
kanadian
Giorgiolino
Messages postés
251
Date d'inscription
vendredi 15 mai 2009
Statut
Contributeur
Dernière intervention
2 mars 2015
52
29 mai 2009 à 10:46
29 mai 2009 à 10:46
En fait le 'fk' montre effectivement (en principe) qu'il s'agit d'un attribut d'une autre table. Je dis bien attribut car
dans ton cas (ce fut aussi le mien il y a quelques temps), il n'y a manifestement aucune contrainte. Je sais que ça à l'air incroyable mais pour l'avoir vu je peux te dire que ça existe. En effet j'ai récupéré les sources d'un logiciel en php/MySQL récemment et il n'y avait aucune contrainte non plus sur les tables. Tout se faisait soi-disant dans e code php.
Et quand tu dis "J'ai vérifié, elle vont bien prendre valeur des clés auxquelles elles sont associées" c'est parce que c'est utilisé par une application et que ça a l'air de marcher ou que t'as testé en BDD ?
Le cas échéant, voici ce que je te propose de faire:
Essaie de créer 'à la main' directement dans ta base de données un enregistrement en mettant dans le(s)
champ(s) 'fk' une valeur qui n'existe pas dans la table de référence. Si ça passe, tu sauras qu'il n'y a - hélas -
aucune contrainte et tu seras fixé.
Bon courage.
dans ton cas (ce fut aussi le mien il y a quelques temps), il n'y a manifestement aucune contrainte. Je sais que ça à l'air incroyable mais pour l'avoir vu je peux te dire que ça existe. En effet j'ai récupéré les sources d'un logiciel en php/MySQL récemment et il n'y avait aucune contrainte non plus sur les tables. Tout se faisait soi-disant dans e code php.
Et quand tu dis "J'ai vérifié, elle vont bien prendre valeur des clés auxquelles elles sont associées" c'est parce que c'est utilisé par une application et que ça a l'air de marcher ou que t'as testé en BDD ?
Le cas échéant, voici ce que je te propose de faire:
Essaie de créer 'à la main' directement dans ta base de données un enregistrement en mettant dans le(s)
champ(s) 'fk' une valeur qui n'existe pas dans la table de référence. Si ça passe, tu sauras qu'il n'y a - hélas -
aucune contrainte et tu seras fixé.
Bon courage.
kanadianDri3
Messages postés
85
Date d'inscription
mardi 18 novembre 2008
Statut
Membre
Dernière intervention
12 juillet 2010
10
29 mai 2009 à 12:24
29 mai 2009 à 12:24
Merci pour ta réponse ! C'est claire est tellement simple que je n'y est pas penser (pourquoi faire simple alors qu'on peut faire compliquer !! ^^)
Et bien j'ai tester vraiment sur la BDD. J'ai été cherché des infos, par exemple vérifier les comptes clients et vérifier le code de leur service. A chaque fois ca concorde. Et puis ca fait bientot 5 ans qu'il utlise la meme BDD donc je pense que s'il y avait des erreurs ils auraient changé (là où je bosse)
Bon bah je vais essayer de faire ce que tu as dit pour au moins vérifier. Si ca bloque je dois en conclure que les champs où il est indiqué 'fk_' sont bels et bien des clés etrangères ? Je pense que ca suffira...
Ca serait bien qu'un expert mettent son nez là dedans histoire de clarifier les choses...enfin bon j'vais me débrouiller.
Merci pour ton aide !!! :D :D
kanadian
Et bien j'ai tester vraiment sur la BDD. J'ai été cherché des infos, par exemple vérifier les comptes clients et vérifier le code de leur service. A chaque fois ca concorde. Et puis ca fait bientot 5 ans qu'il utlise la meme BDD donc je pense que s'il y avait des erreurs ils auraient changé (là où je bosse)
Bon bah je vais essayer de faire ce que tu as dit pour au moins vérifier. Si ca bloque je dois en conclure que les champs où il est indiqué 'fk_' sont bels et bien des clés etrangères ? Je pense que ca suffira...
Ca serait bien qu'un expert mettent son nez là dedans histoire de clarifier les choses...enfin bon j'vais me débrouiller.
Merci pour ton aide !!! :D :D
kanadian