2010-03-24 2 views
7

J'ai 10 tables dans ma base de données (MySQL). deux d'entre eux est donné ci-dessousmysql export sql dump alphabétiquement, ce qui provoque une erreur de contraintes de clé étrangère lors de l'importation

tbl_state

state_id |int(10) |UNSIGNED ZEROFILL auto_increment 
state_name |varchar(40) 

tbl_city

city_id  |int(10) |UNSIGNED ZEROFILL auto_increment 
city_name |varchar(40) | 
state_code |int(10) | UNSIGNED ZEROFILL (FK reference with tbl_state.state_id) 

clé étrangère:tbl_city.state_code est des références à tbl_state.state_id.

maintenant mon problème est

quand exporter toutes les tables et l'importation à nouveau, puis il donne

foreign key constraint fails error.... parce que quand j'exporter MySQL dump, dump sql est généré dans les tableaux classés par ordre alphabétique et tbl_city vient avant tbl_state dans la base de données.

S'il vous plaît me suggérer comment puis-je gérer ce scénario?

Est-il possible que toutes les tables soient dans l'ordre des références de clés étrangères?

Répondre

7

Vous souhaitez désactiver la vérification des clés étrangères au début de la décharge, et leur permettre, après toutes les données sont sous-évaluées:

SET FOREIGN_KEY_CHECKS=0 

... dump ... 

SET FOREIGN_KEY_CHECKS=1 
+0

Je ne peux pas faire cela en téléchargeant des données d'une machine et en les important sur une autre machine, et ceci sera fait par une personne non technique. et ce processus va continuer b une fois dans une journée pour toujours ... me suggérer une autre idée – diEcho

+1

la personne technique qui est responsable de la génération de la décharge devrait alors corriger leur script. ou utilisez mysqldump qui fait cela pour vous –

+0

pouvez-vous me dire le lien où je peux trouver un script qui exportent mysql en xml à partir d'une machine et importer xml dans mysql à une autre machine – diEcho

0

par hasard si vous utilisez SQLYog. Utilisez cette propriété. enter image description here

Questions connexes