begin process at 2010 03 17 22:31:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

MySQL

 > 

Débutant(s)

 > 

Foreign Key sous MySql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Foreign Key sous MySql

samedi 26 janvier 2008 à 20:10:18 | Foreign Key sous MySql

MadM@tt

Membre Club
Bonjour à tous,

Je travaille avec DBDesigner (mais c'est peu important pour la suite). Je viens de réaliser que les clés étrangères n'était pas possible sous MySql en mode par défaut (les tables en format MyISAM) et donc qu'il fallait créer les tables en format InnoDB pour pouvoir les utiliser.
J'aimerais savoir quand même les différences entre les 2 formats, pourquoi MyISAM ne gère pas les clés étrangères... Enfin ça me fait un peu peur de changer tous les formats de mes tables quoi, je me dis que c'est bizarre que MySql utilise un format incomplet (parce que les foreign key c'est quand meme assez basique)...
Merci si vous avez des infos

(et au passage est-il possible de convertir une table existante en InnoDB plutot que devoir la recréer)

Merci

- MadMatt -

 www.choisir-une-entreprise.com

samedi 26 janvier 2008 à 20:20:21 | Re : Foreign Key sous MySql

MadM@tt

Membre Club
En fait pour être plus clair : est-ce vraiment nécessaire, qu'est ce que j'ai à y gagner ?
(je trouvais mon message bien compliqué)

- MadMatt -

 www.choisir-une-entreprise.com

dimanche 30 novembre 2008 à 09:12:20 | Re : Foreign Key sous MySql

yopai_v

Salut, je suis étonné que tu n'aies pas eu de réponse à ce message. Peut-être que les gens ne s'intéressent pas aux questions théoriques, c'est bien dommage.
Tu fais bien d'être "choqué" par l'absence de la gestion des foreign keys par défaut dans mysql. Je l'ai été aussi.
Tel que je vois les choses (mais des spécialistes MySql en sauront peut-être plus) : MyIsam est le (l'un des) premier moteur créé pour MySql. Je suppose qu'ils ont commencé par implémenter uniquement les choses indispensables. Lorsque InnoDB, qui gérait les FK, a été développé, ils n'ont pas jugé bon de l'intégrer à la config. par défaut de MySql. Je suppose que ca a été un choix difficile, avec comme arguments :
- la stabilité (l'équipe a peut-être voulu "attendre un peu" avant de changer le moteur de stockage par défaut)
- les performances (InnoDB étant à priori moins performant que MyIsam)
- si InnoDB a effectivement été développé par une autre équipe, le fait de ne pas vouloir mettre par défaut quelque chose qui n'était pas "pur MySql"

Sur le passage à InnoDB :  je te le recommande; outre les FK, il gère également les transactions, ce qui est tout aussi indispensable si l'on veut gérer correctement une base de données.

A priori le passage en InnoDb ne doit pas poser de problème (fais quand même une sauvegarde de la base avant). (Euh, depuis Janvier, tu as déjà dû le faire... tant pis, ça servira peut-être à un autre)
Pour cela il faut changer le moteur de stockage de chaque table (ALTER TABLE xxx ENGINE innodb);
Le moteur de stockage par défaut de la base de données n'est pas modifiable; mais ce n'est pas bien important à condition de bien préciser InnoDb lorsque tu crées une table.
dimanche 30 novembre 2008 à 11:24:37 | Re : Foreign Key sous MySql

MadM@tt

Membre Club
Ha ben depuis le temps, merci d'avoir apporter une réponse à tout ça. Ça me servira pour le futur, et j'espère que ça servira à d'autres personnes qui passeront par la.

MadMatt



Cette discussion est classée dans : mysql, format, key, tables, foreign


Répondre à ce message

Sujets en rapport avec ce message

mySql => Exporter les scripts des tables d'une base [ par nitrique ] Bonjour @ tous, J'aimerais (comme le dit le titre) exporter les scripts des tables d'une base sous mySql (avoir les: insert into).Un peu comme le fait UPDATE avec plusieurs tables [ par magic_Nono ] BonjourJe faisais un prog VC6 avec accès à une BD mySql (une autre partie du soft est basé sur LAMP)lors de mes tests, j'utilisais easyPHP pour window sql test si une table contient une foreign key [ par zobbiwan ] Bonjour. Je réalise une appli access asp où je connais le nom de certaines tables filles. Pour laisser une certaine liberté aux utilisateurs, je leur Problème avec alter table ... add constraint ...foreign key .. [ par bubix ] Bonjour, Le cas est le suivant : Je crée une table maTable1 Ensuite j'ajoute une clé étrangère à cette table de la manière suivante alter table maTabl Modifier la delete rule d'une foreign key [ par vincentstryckmans ] Bonjour,J'utilise Interbase 7.5 et lorsque je souhaite modifier la delete rule d'un clef étrangère, de set null à cascade par exemple, je reçois le me Erreur 1452... Comprends pas ? ? ? [ par lnp ] #1452 - Cannot add or update a child row: a foreign key constraint fails (`projet/rendez_vous`, CONSTRAINT `FK_RENDEZ_VOUS` FOREIGN KEY (`ENT_USER_ID` Export mysql => mssql [ par malalam ] Hello,une petite question : j'ai une base créée sous mysql, en innoDB. Je dois la passer (sa structure uniquement) sous mssql. Elle n'est pas très gro Pbm de foreign key pas prises en compte [ par romca ] Salut voilà j'ai un pbm sous ma distrib mes foreign key ne sont pas pris en compte et pourtant j'ai aucune erreur.<?xml:namespace prefix = o ns = "urn Logociel creation shema des tables mysql [ par younes371 ] Bonjour,je me demabde s'il y a un logiciel qui crée automatiquement le shema des tables d'une base de données MySQL.Merci pour vos aides.j'ai telechar Format time mysql HH:MM [ par olibara ] Bonjour Est il possible de forcer mysql a interpreter le temps en HH:MM plutot que HH:MM:SS Dans mon application, le temps est géré en HH:MM et il


Nos sponsors


Appels d'offres

Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales