Foros del Web » Programando para Internet » PHP »

Importar Base de datos

Estas en el tema de Importar Base de datos en el foro de PHP en Foros del Web. Saludos amigos foreros disculpen no encuentro el foro de base de datos (o no se si lo encontre y no me di cuenta ); en ...
  #1 (permalink)  
Antiguo 06/01/2016, 15:57
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 12 años, 9 meses
Puntos: 10
Importar Base de datos

Saludos amigos foreros disculpen no encuentro el foro de base de datos (o no se si lo encontre y no me di cuenta ); en fin necesito su asistencia

Tengo una base de datos con una tabla llamada asuntos en la cual tengo los siguentes atributos:
codigo ------>Autoincremental
tipo
departamento
solucion

como notaran el codigo es un autoincremental, pues ya poseo datos en esta tabla que no deseo perderlos sin embargo necesito migrar registros de orta tabla identica hacia esta.

pues cuando intento hacer la importacion me da duplicidad de PK (logico ya que se repite el codigo autoincremental), existe forma de importar esta tabla que no sea transformandola en csv????
__________________
___________________________
Si te ayudo mi respuesta dale al +1
  #2 (permalink)  
Antiguo 07/01/2016, 03:36
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Importar Base de datos

Yo probaría a exportar los registros de la otra tabla en formato SQL.
Esto te generará una consulta con los correspondientes inserts into... por ejemplo:

Código SQL:
Ver original
  1. INSER INTO tabla2 (codigo, tipo, departamento, solucion) VALUES (1,'xxx','departamento xxx','solucion xxx'), (2,'ddd','departamento ddd','solucion ddd'), (3,'yyy','departamento yyy','solucion yyy')

Despues, puedes ejecutar esos insert into en la tabla1... pero como tienes ids que se repiten, lo que puedes hacer es editar la consulta y eliminar los IDs... de esa forma, se te generaran automaticamente desde el ultimo ID de la tabla.

Es decir, modifica esta consulta:
Código SQL:
Ver original
  1. INSER INTO tabla2 (codigo, tipo, departamento, solucion) VALUES (1,'xxx','departamento xxx','solucion xxx'), (2,'ddd','departamento ddd','solucion ddd'), (3,'yyy','departamento yyy','solucion yyy')
Dejandola asi:
Código SQL:
Ver original
  1. INSER INTO tabla1 (tipo, departamento, solucion) VALUES ('xxx','departamento xxx','solucion xxx'), ('ddd','departamento ddd','solucion ddd'), ('yyy','departamento yyy','solucion yyy')
De esta forma, podras pasar de tabla2 a tabla1, todos sus registros y tabla1 generara ella sola los IDentificadores
__________________
Follow me on twitter @franbedia
  #3 (permalink)  
Antiguo 07/01/2016, 21:27
 
Fecha de Ingreso: julio-2011
Ubicación: Los Rios
Mensajes: 145
Antigüedad: 12 años, 9 meses
Puntos: 10
Respuesta: Importar Base de datos

La solución esta perfecta, el problema es que son 16000 registros, es decir 16000 modificaciones de values...

Alguna otra idea???
__________________
___________________________
Si te ayudo mi respuesta dale al +1
  #4 (permalink)  
Antiguo 08/01/2016, 09:10
Usuario no validado
 
Fecha de Ingreso: enero-2010
Ubicación: Maturín, Monagas
Mensajes: 190
Antigüedad: 14 años, 3 meses
Puntos: 24
Respuesta: Importar Base de datos

Hola, tomando la sulucion de fbedia creo puede hacer una consulta a tu tabla1 que quieres migrar, luego de guardar todo en un bucle insertar esos datos en la tabla2 obviando el id para que empiece desde el ultimo. ejemplo:

Código PHP:
Ver original
  1. //es un codigo rudimentario tome como ejemplo mostrarte una idea de como se puede hacer.
  2. $query = $this->mysqli->query("select tutabla.tipo, tutabla.departamento, tutabla.solucion from tutabla") or die ("se produjo un error porque: ".$this->mysqli->error);
  3.  
  4.             while($campos = $query->fetch_assoc()){
  5. $this->mysqli->query("INSER INTO tabla2 (tipo, departamento, solucion) VALUES('$campos['tipo']' , '$campos['departamento']' , '$campos['solucion']')");
  6.                 }

Es una idea de como hacerlo lo transcribi rapidito esperando pueda ayudarte perdon i hay algun error ortografico o le falta un ;, saludos.

Etiquetas: mysql
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 09:15.