Pb avec les clé etrangère

Eléphant du PHP | 147 Messages

03 juin 2005, 11:22

Salut

Mon site est hébergé chez free et je voudrais utiliser des clé etrangère. J'ai lu qu'il falait mettre comme type de table InnoDB mais sa semùble ne pas marcher.
Sa a été désactivé par free?
Si oui il y a pas une astuce pour arriver au même résultat?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 juin 2005, 11:32

InnoDB n'est disponible qu'a partir de la distribution 3.23.34a de MySQL

plus de renseignements ==> ICI <==
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

03 juin 2005, 11:33

L'utilisation de clés étrangères n'implique pas obligatiorement le type InnoDB. Mais il est vrai qu'avec des tables MyISAM, tu n'auras pas d'intégrité référentielle. ceci dit, mon avis personnel, c'est que j'ai horreur de travailler avec des bases où l'intégrité référentielle est activée, je préfère gérer ça mio-même avec ordre et méthode. J'ai également un site sur free et j'utilise des clés étrangères dans des tables MyISAM.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 147 Messages

03 juin 2005, 11:34

La distrib est la MySQL 4.0.22

Comment on peut savoir si c'est instalé?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 juin 2005, 11:36

C'est vrai que c'est plus clean de gérer ça perso, mais quand tu supprime un client et qu'il te supprime automatiquement les commendes, ... associés, ça fait plaisir !!!!

De plus, côté rapidité d'exécution, il ne doit pas y avoir photo si c'est directement dans la base ...
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

03 juin 2005, 11:39

La distrib est la MySQL 4.0.22

Comment on peut savoir si c'est instalé?
Essaye de créer une table en mode sql en précisant en fin de requête de création type= innoDB: s'il te jette, tu seras fixé.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 juin 2005, 11:41

Je suis désolé de te contredire encore un fois Cyrano, mais il ne vas pas te jeter, mais il va créer une table MyISAM

Désolé :oops:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

03 juin 2005, 12:23

J'ai pas essayé, c'est possible je vérifierai ça tout à l'heure
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 juin 2005, 13:22

J'ai eu un pb comme ça ou je travaillais sous EasyPHP 1.7 (qui ne gère pas InnoDB par défaut) et je ne comprennais pas que mes tables ne se vidaient pas !!! Avant de voir qu'elles étaient MyISAM alors que le script précisait InnoDB !!!!

C'est peut être un point de plus dans le camp des "contraintes référentielles faites à la main" :lol:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 19672 Messages

03 juin 2005, 13:42

Je viens de faire un essai rapide, à priori ça ne fonctionne pas sur free: on peut faire des tables MyISAM, HEAP ou Merge, mais pas de InnoDB.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

03 juin 2005, 13:46

Je suis désolé de te contredire encore un fois Cyrano, mais il ne vas pas te jeter, mais il va créer une table MyISAM

Désolé :oops:
c'est si grave que ça ? :lol:

tu vas réussir à dormir ce soir zeus ? :wink:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 juin 2005, 14:01

Non mais je suis sur plusieurs post en même temps sur lesquels je croise Cyrano, et je n'arrête pas de le contredire !!!

Je ne voulais pas qu'il le prenne pour lui !!!!

Mais si tu veux, je peux m'excuse auprès de toi

:agenouille: Excuse moi ouckileou
:oops: Désolé !!!

:langue::langue::langue:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

03 juin 2005, 14:20

ah non mais moi j'ai rien demandé et rien à voir là dedans :P

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

03 juin 2005, 14:31

Non mail looooooooooooool !!!!

On rigole !!!! Un peu de tps en tps, ca fait du bien !!!

Ce n'était pas un eplat excuse (ni a Cyrano, ni a toi), pour Cyrano, c'était une manière de dire "le prend pas pour toi" et pour toi, c'était juste pour te taquiner
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

03 juin 2005, 16:45

On rigole !!!! Un peu de tps en tps, ca fait du bien !!!
mais oui j'avais bien compris

j'avais pourtant mis un beau => :P

j'en remet d'autres :lol: :lol: :lol:

;)

sinon vous le dites si j'ai pourri le sujet hein :D