Exportation BDD phpmyadmin, clé étrangère, et insertion de données

Exportation BDD phpmyadmin, clé étrangère, et insertion de données - SQL/NoSQL - Programmation

Marsh Posté le 13-07-2007 à 15:41:48    

Bonjour, j'ai une base de donnée MySQL sous phpMyAdmin et j'ai des contraintes de clé étrangère entre mes tables.
    Pas de soucis ma base me convient, mon problème est lors de l'exportation de cette base, si j'exporte la totalité des tables, l'ordre de l'insertion des données dans les tables ne respecte pas du tout mes contraintes de clé étrangère.
    Je suis alors obligé de faire des couper/coller pour que l'ordre des insertions soit respecté.
    Une idée pour que php exporte mes tables dans le bon ordre?


Message édité par C4O2 le 20-07-2007 à 18:37:04
Reply

Marsh Posté le 13-07-2007 à 15:41:48   

Reply

Marsh Posté le 20-07-2007 à 18:51:08    

   Je vois que ce problème passionne les foules...
    Bon en fait on considère que les données exprtées sont valides. Il faut donc bêtement désactiver la vérification des clés étrangères lors de l'importation de données... et il n'y a apparement pas d'autres solutions...
 
    C'est MySQL lui même qui le dit...
 
    Source : http://dev.mysql.com/doc/refman/5. [...] aints.html

Code :
  1. Pour simplifier l'importation de données dans des tables qui ont des contraintes, mysqldump ajoute automatiquement la commande qui met la variable FOREIGN_KEY_CHECKS à 0, depuis MySQL version 4.1.1. Cela évite des problèmes spécifiques avec les tables qui doivent être chargées dans un ordre particulier. Pour les versions antérieures, vous pouvez désactiver manuellement la variable depuis mysql lors du chargement du fichier comme ceci :
  2. mysql> SET FOREIGN_KEY_CHECKS = 0;
  3. mysql> SOURCE dump_file_name;
  4. mysql> SET FOREIGN_KEY_CHECKS = 1;
  5. Cela vous permet de faire l'importation des données des tables dans n'importe quel ordre.


Message édité par C4O2 le 27-07-2007 à 23:47:01
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed