Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Exportar BD de Filemaker a MySQL

Estas en el tema de Exportar BD de Filemaker a MySQL en el foro de Mysql en Foros del Web. Weno, pues como me has dicho, he creado en otra BD las tablas (vacías) y a la hora de crear las relaciones no da ningun ...

  #31 (permalink)  
Antiguo 12/06/2009, 04:25
 
Fecha de Ingreso: abril-2009
Mensajes: 17
Antigüedad: 15 años
Puntos: 0
Respuesta: Exportar BD de Filemaker a MySQL

Weno, pues como me has dicho, he creado en otra BD las tablas (vacías) y a la hora de crear las relaciones no da ningun problema. Pero ahora, como lo hago para importar los datos de los archivos '.csv' q tengo (el numero d campos d las tablas con el numero d campos del archivo csv ahora ya no coinciden)??

He provado otra cosa también.
He copiado la sentencia SQL q se ha generado al crear las relaciones en la BD anterior.
Seguidamente, me he dirigido a otra BD idéntica con las mismas tablas pero estas con motor MyISAM. He ejecutado la sentencia SQL que había copiado anteriormente y se ha realizado correctamente. Como puedo comprovar que se han establecido correctamente las relaciones en esta BD??

Merci!!!!!
  #32 (permalink)  
Antiguo 12/06/2009, 05:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Exportar BD de Filemaker a MySQL

Cita:
con las mismas tablas pero estas con motor MyISAM
En las tablas MyISAM no existen las FOREIGN KEY, por lo que las relaciones que crees haber establecido, en realidad no existen.
Por cuestiones de compatibilidad de códigos, MySQL tolera que en un motor MyISAM invoques esas restricciones, pero para el caso nunca funcionan. En las MyISAM, la única forma de controlar la integridad referencial es por medio de código de la aplicación, o por medio de Stored Procedures o Triggers que hagan lo mismo.

Tu problema en este punto es simplemente detectar cuáles de los registros no están cumpliendo con la restricción y resolverlo (a mano).
Si el campo en cuestión permitía NULL, solamente habría que detectar eso. Si en cambio no lo admitía, pero el valor es incorrecto, entonces la cosa se hace de otro modo.
En el primer caso, la sentencia sería, mas o menos así:
Código SQL:
Ver original
  1. SELECT id
  2. FROM document
  3. WHERE  id_informant IS NULL;
En el segundo caso andaría por aquí:
Código SQL:
Ver original
  1. SELECT T.id
  2. FROM informant T LEFT JOIN document D ON T.id = d.id_informant
  3. WHERE  d.id_informant IS NULL;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 12/06/2009 a las 05:42
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:07.