Clés étrangère + problème

Résolu
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 6 déc. 2005 à 13:41
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 6 déc. 2005 à 16:51
Bonjour à tous,



Est ce que ca se fait de créer une table avec deux clées etrangère sans clé primaire ?



ou que faire si on peut pas faire autrement ?



Par avance, merci.

4 réponses

aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
6 déc. 2005 à 14:13
oui ca se fait parfaitement

dans certains cas la combinaison de tes clef etrangeres peut egalement constituer la clef primaire

sinon dis nous precisement ce que tu veux faire, on te dira si c'est bon
3
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
6 déc. 2005 à 16:22
ah...
alors je pense que ton probleme vient plutot de la méthode.

le fait de supprimer completement les données de la table et de les recréer n'est pas la bonne solution a mon sens.
il vaut mieux faire un update.
surtout si tu as un ID comme clef primaire, ca ne devrait pas etre trop difficile.

mais apres c'est a toi de voir, si tu veux garder ta solution de supprimer tout et de reinserer, alors tu peux tout simplement supprimer ton champs ID, qui dans ce cas ne servira plus a grand chose de toute facon.
3
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
6 déc. 2005 à 15:06
En faite j'ai un logiciel en c++, chaque fois que j'appuis sur un bouton ca ecrit dans la base dans une table qui s'appelle GROUPE_INTERDIT.

Exemple :

TABLE GROUPE INTERDIT

personne_id | groupe_id

1 1
1 2
2 2

Dans l'exemple la personne 1 n'a pas le droit de voir le groupe 1 et 2 et la personne 2 n'a pas le droit de voir le groupe 2.

Mon programme est fait de tel manière que je suis obligé de supprimer entierement le table GROUPE_INTERDIT à chaque fois que j'appuis sur mon bouton pour ecrire dans la base afin de reconstruire entièrement la table GROUPE_INTERDIT, je pense que ca ne sert à rien de faire un UPDATE....

Je pensais faire :

id| personne_id | groupe_id

1 1 1
2 1 2
3 2 2

avec id comme clé primaire qui s'autoincremente tout seul

mais si je "delete" la table à chaque fois que j'appuis sur mon bouton au bout de 50 appuis sur le bouton ca va faire :

id| personne_id | groupe_id

190 1 1
191 1 2
192 2 2

Je sais pas si j'ai été bien clair, qu'en penses tu ?
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
6 déc. 2005 à 16:51
ok, merci de ta réponse, je vais voir ce que je peux faire, je preferais faire un update mais je peux pas conserver l'id en mémoire pour faire par la suite "UPDATE .... WHERE ID = mon id". Si vraiment je trouve pas je supprime tous sinon je fais un update.
0
Rejoignez-nous