|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Développeur Java Inscription : octobre 2004 Messages : 201 ![]() |
Bonjour,
J'ai un shema assez simple au final, deux tables, dont une contnant une cle etrangere, qui est le cla primaire de l'autre,avec ON DELETE CASCADE. Lorsque je supprime une ligne dans cette table, elle ne disparait pas de la table fille. J'utilise MySQL 5.0.45. et une DB InnoDB Quelqu'un saurait pourquoi ca ne declenche pas le CASCADE? Merci edit: D'apres ce que j'ai pu voir, ca serai un bug de MySQL ? |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Pierre Ingénieur qualité méthodes Inscription : mars 2003 Messages : 3 726 ![]() |
Tables InnoDB ?
Moteur InnoDB actif sur le serveur ?
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet) ----------------------- Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MPUsus magister est optimus |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Développeur Java Inscription : octobre 2004 Messages : 201 ![]() |
Les tables sont InnoBD oui.
Comment on sait si le moteur InnoDB est actif ? Je suis en local. |
|
|
00
|
|
|
#4 |
![]() ![]() Inscription : juillet 2006 Messages : 2 662 ![]() |
Il me semble qu'à partir de MySQL 4.0, InnoDB est activé par défaut.
cf le fichier de configuration se nomme my.ini et est localisé dans le répertoire principal de Windows la ou tu peux activer les tables InnoDB mettre en commentaire skip-innodb (ajouter un #)
__________________
la culture c'est comme la confiture moins on en a plus on l'étale. Vous souhaitez contribuer aux rubriques Solutions d'entreprises ou BI, contactez-moi Mes tutos |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Développeur Java Inscription : octobre 2004 Messages : 201 ![]() |
Oui apparement innoDB est active par defaut, et dans le fichier ini, la ligne skip_innoDB est deja commentee...
|
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : juillet 2006 Messages : 2 662 ![]() |
Il me semble que pour profiter de l'innoDB il faut ajouter TYPE=INNODB; dans ta création de table comme les exemples du net
__________________
la culture c'est comme la confiture moins on en a plus on l'étale. Vous souhaitez contribuer aux rubriques Solutions d'entreprises ou BI, contactez-moi Mes tutos |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Développeur Java Inscription : octobre 2004 Messages : 201 ![]() |
Oui j'ai cree toutes mes tables en mettant ENGINE=InnoDB
|
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : juillet 2006 Messages : 2 662 ![]() |
Essaie avec TYPE=InnoDB;
__________________
la culture c'est comme la confiture moins on en a plus on l'étale. Vous souhaitez contribuer aux rubriques Solutions d'entreprises ou BI, contactez-moi Mes tutos |
|
|
00
|
|
|
#9 | ||
|
Membre du Club
![]() Développeur Java Inscription : octobre 2004 Messages : 201 ![]() |
Je veux bien, mais mes tables on ete crees avec MySQL Query Browser, et il a genere le script automatiquement.
J'avais essaye avec TYPE (g pas verifie si ca marchait) mais il m'a dit que le nouvelle syntaxe etait ENGINE... Je viens d'essayer ca ne change rien Code :
|
||
|
|
00
|
|
|
#10 | ||
|
Membre du Club
![]() Développeur Java Inscription : octobre 2004 Messages : 201 ![]() |
bon j'ai essaye avec des tables encore plus simples et ca marche pas.
C un bug SQL c pas possible ! Voila un petit script Code :
|
||
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
Bonjour,
Pour que la cascade ait une chance de fonctionner, c'est plutôt un fiston qu'il faut supprimer (un enfanticide, quoi Personnellement, en MySQL 5.0.41, ça marche : mon fiston et mon papa sont bien supprimés .ced |
|
|
00
|
|
|
#12 |
|
Membre du Club
![]() Développeur Java Inscription : octobre 2004 Messages : 201 ![]() |
jvai essayer dans ce sens la !
j'avais peur pour le ptit
|
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Développeur Java Inscription : octobre 2004 Messages : 201 ![]() |
ARF
![]() C'est dans ce sens la que ca marche !!! bon Merci bien
|
|
|
00
|
|
|
#14 |
|
Membre du Club
![]() Développeur Java Inscription : octobre 2004 Messages : 201 ![]() |
C'est un peu mal foutu je trouve,
Si je veux suprimer un papa, je veux aussi supprimer sa descendence. Alors que la je dois d'abord me faire tous les rejetons, apres chercher qui est le pere Pas pratique non ? |
|
|
00
|
|
|
#15 |
![]() ![]() ![]() Cédric DuprezInscription : avril 2002 Messages : 3 823 ![]() |
C'est un problème purement conceptuel... Il faut mettre la clef étrangère dans la table des enfants, référençant la table des parents...
ced |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com