|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : mai 2007 Messages : 45 ![]() |
Bonsoir,
Je sais que ce sujet a déjà été évoqués plusieurs fois, mais je n'ai pas réussi à trouver de solution qui me convenait. Alors voilà, J'utilise un hébergement gratuit free, et j'aimerai creer une base de données qui permet les foreign keys. Apparament, pour MySQL, il faudrait creer ses tables en "Inno DB", ce que mon hébergement ne permet apparament pas. Néanmoins, j'ai entendu dire qu'on pouvait s'en sortir avec des "index", pouvez-vous m'aider ? J'ai essayé de comprendre ce qu'était un index dans des cours MySQL mais ce n'est pas très clair pour moi. J'aimerai par exemple pouvoir creer une table ingrédients et une table gateaux. Chaque ingrédients auraient un prix, qui se répercuterait automatiquement sur le prix du gateau final. Merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre à l'essai
![]() Inscription : mai 2007 Messages : 45 ![]() |
Personne ?
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : novembre 2005 Messages : 39 ![]() |
Salut
OUi pour l integrité référentielle tu dois créer des tables innodb en mysql personnellement j utilise toujours ca et c est vraiment génial. Je te montre un exemple :p create table T_membre ( id_membre int(20) not null AUTO_INCREMENT, pseudo varchar(50) not null, constraint ID_T_membre primary key(id_membre))type=innodb; create table T_admin ( id_membre int(20) not null, constraint ID_T_admin primary key(id_membre))type=innodb; -- ici c est pour les contraites d integrités et de clés etrangeres alter table T_admin add constraint Sid_T_admin foreign key (id_membre) references T_membre (id_membre) on delete cascade; tu vois tu peux mettre on delete cascade ou on delete set null Quand tu supprimera un membre de la table T_membre ca supprimera les champs de ta tables admin. Courage et si tu as besoin de quelque chose n hesite pas. ++ |
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() Inscription : mai 2007 Messages : 45 ![]() |
Mais mon hébergeur (à savoir Free) n'accepte pas à ma connaissance (??) les tables de type InnoDB...
Y a t-il un autre moyen ? (via des "index" par exemple) |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : novembre 2005 Messages : 39 ![]() |
non, pas a ma connaissance. Sans innodb tu dois bien etudier ta base et gerer les suppressions "manuellement"
|
|
|
00
|
|
|
#6 |
|
Membre expérimenté
![]() Étudiant Inscription : juillet 2004 Messages : 777 ![]() |
Oui il te faut creer des liaison en php en gros... C'est super galere mais il n'y a pas d'autre solution... Enfin si
|
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : mai 2007 Messages : 45 ![]() |
J'ai essayé postresql, je suis perdu. C'est un peu plus compliqué que MySQL quand même.
Pourrais tu m'en dire plus sur ces liaisons en PHP, aurais tu un lien à me passer, merci d'avance |
|
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() Étudiant Inscription : juillet 2004 Messages : 777 ![]() |
Eu des liens non, c'est a toi de les faire quand tu supprimer ou insere des entrées...
|
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : novembre 2005 Messages : 39 ![]() |
Je pense que si tu veux faire du codage de qualité tu as deux solutions (oublie les liaisons pour les grosses bases)
1 - changer d hebergeur pour passer a innodb 2- apprendre postgresql qui cela dit n est pas plus compliqué que mysql (le standard reste sql, il n y a que les fonctions php qui changent). Bon courage dans ton developpement. Au plaisir. Benoit. http://www.sosmessenger.com |
|
|
00
|
|
|
#10 |
|
Membre à l'essai
![]() Inscription : mai 2007 Messages : 45 ![]() |
Merci, bon bah je vais retenter PostreSQL alors
Merci à tous |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com