elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  [AYUDA] Sincronizar tablas de dos bases de datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [AYUDA] Sincronizar tablas de dos bases de datos  (Leído 3,021 veces)
darg94

Desconectado Desconectado

Mensajes: 21


00110100 00110010


Ver Perfil
[AYUDA] Sincronizar tablas de dos bases de datos
« en: 17 Julio 2014, 11:41 am »

Hola,

tengo dos bases de datos con usuarios, una base de datos está recibiendo nuevos usuarios constantemente y la otra no. Necesito poder sincronizar ambas bases de datos automáticamente cada X tiempo (una de las bases de datos, es de WORDPRESS).

La cosa se complica un poco más teniendo en cuenta que la estructura de las tablas de cada base de datos es distinta, por lo que no puedo copiar a pelo todo el contenido de una base de datos a otra tan facilmente.

Podría meter en el wordpress un script que se ejecute automaticamente una hora concreta, cada dia? tal como se haría en una crontab.


« Última modificación: 17 Julio 2014, 16:48 pm por darg94 » En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: [AYUDA] Sincronizar tablas de dos bases de datos
« Respuesta #1 en: 17 Julio 2014, 18:21 pm »

Puedes hacer un INSERT INTO LEFT JOIN siempre y cuando haya una llave igual en las dos tablas.

Teniendo por ejemplo:

PersonsA
Código
  1. CREATE TABLE PersonsA
  2. (
  3. PersonID INT NOT NULL AUTO_INCREMENT,
  4. LastName VARCHAR(255),
  5. FirstName VARCHAR(255),
  6. Address VARCHAR(255),
  7. City VARCHAR(255),
  8. PRIMARY KEY(PersonID)
  9. );

PersonsB
Código
  1. CREATE TABLE PersonsB
  2. (
  3. PersonID INT NOT NULL AUTO_INCREMENT,
  4. LastName VARCHAR(255),
  5. FirstName VARCHAR(255),
  6. Address VARCHAR(255),
  7. City VARCHAR(255),
  8. PRIMARY KEY(PersonID)
  9. );

Los registros:

PersonsA
Código
  1. INSERT INTO PersonsA(LastName, FirstName, Address, City) VALUES("Tepo", "Nano", "street #1234", "Jamaica");
  2. INSERT INTO PersonsA(LastName, FirstName, Address, City) VALUES("Tep", "Nan", "street #123", "Jamaic");
  3. INSERT INTO PersonsA(LastName, FirstName, Address, City) VALUES("Te", "Na", "street #12", "Jamai");
  4. INSERT INTO PersonsA(LastName, FirstName, Address, City) VALUES("T", "N", "street #1", "Jama");

PersonsB
Código
  1. INSERT INTO PersonsB(LastName, FirstName, Address, City) VALUES("Tepo", "Nano", "street #1234", "Jamaica");
  2. INSERT INTO PersonsB(LastName, FirstName, Address, City) VALUES("Tep", "Nan", "street #123", "Jamaic");

Tu puedes vaciar los registros 3 y 4 de la tabla PersonsA a PersonsB así:

Código
  1. INSERT INTO PersonsB(PersonID, LastName, FirstName, Address, City) SELECT PersonsA.PersonID, PersonsA.LastName, PersonsA.FirstName, PersonsA.Address, PersonsA.City FROM PersonsA LEFT JOIN PersonsB ON PersonsA.PersonID = PersonsB.PersonID WHERE PersonsB.PersonID IS NULL

Y en cuanto a tu crontab puedes hacerte un archivo PHP que haga la query cada X mins:

Código:
*/X       *       *       *       *       /usr/bin/php ruta/a/archivo/php &> /dev/null

Por cierto, esto no actualiza los campos de registros viejos, solo agrega registros diferentes.


« Última modificación: 17 Julio 2014, 19:48 pm por MinusFour » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda php bases de datos
PHP
Senior++ 3 2,290 Último mensaje 21 Diciembre 2013, 18:39 pm
por Senior++
convertir un xml a tablas de bases de datos
Dudas Generales
fguzman31 2 2,998 Último mensaje 21 Septiembre 2014, 07:58 am
por tincopasan
MOVIDO: convertir un xml a tablas de bases de datos
Ingeniería Inversa
.:UND3R:. 0 2,077 Último mensaje 21 Septiembre 2014, 22:27 pm
por .:UND3R:.
Vincular tablas de distintas bases de datos
Programación Visual Basic
cristian.alarcon 0 2,219 Último mensaje 10 Agosto 2017, 17:10 pm
por cristian.alarcon
Django - cruzar dos tablas transaccionales de diferentes bases de datos
Desarrollo Web
JuanjoXD 1 3,635 Último mensaje 2 Noviembre 2019, 06:47 am
por JuanjoXD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines