2010-03-24 16 views
7

Tengo 10 tablas en mi base de datos (MySQL). dos de ellos es la siguientemysql exportar volcado sql alphabatically, que causa error de restricciones de clave externa durante la importación

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) 

Exteriores restricción de clave:tbl_city.state_code es referencias a tbl_state.state_id.

ahora mi problema es

cuando la exportación todas las tablas y la importación de nuevo entonces se da

foreign key constraint fails error.... porque cuando la exportación de volcado de MySQL, se genera volcado SQL en ordenadas alfabéticamente tablas y tbl_city viene antes de tbl_state en la base de datos.

Por favor, sugiera cómo manejo este escenario?

¿Hay alguna forma en que todas las tablas entren en el orden de las referencias de clave externa?

Respuesta

7

desea desactivar la revisión de las llaves extranjeras en el arranque del vertedero, y luego permitirles después se vierten todos los datos:

SET FOREIGN_KEY_CHECKS=0 

... dump ... 

SET FOREIGN_KEY_CHECKS=1 
+0

No puedo hacer esto porque estoy copiando datos de una máquina e importándolos en otra máquina, y esto será realizado por una persona no técnica. y este proceso continuará una vez al día para siempre ... sugiérame alguna otra idea – diEcho

+1

la persona técnica que es responsable de generar el volcado debería corregir su secuencia de comandos. o use mysqldump que hace esto por usted –

+0

¿Puede decirme el enlace donde puedo encontrar algún script que exporte mysql a xml desde una máquina e importar xml a mysql a otra máquina? – diEcho

0

Por casualidad si utiliza SQLyog. Usa esta propiedad enter image description here

Cuestiones relacionadas