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

Mover registros de una tabla a otra

Estas en el tema de Mover registros de una tabla a otra en el foro de Mysql en Foros del Web. Hola!! (No sabía donde hacer el tema, ya que es php/mysql) Al final, lo coloqué en mysql. ¿Cómo hago con php para cortar registros de ...
  #1 (permalink)  
Antiguo 10/05/2008, 07:44
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Pregunta Mover registros de una tabla a otra

Hola!!
(No sabía donde hacer el tema, ya que es php/mysql) Al final, lo coloqué en mysql.

¿Cómo hago con php para cortar registros de una tabla y pegarlos en otra, con los mismos campos y todo?

mysql_query(move registro from tabla1 to tabla2) ???? NO FUNCIONA ESTO

Ojalá me ayuden

GRACIAS

Última edición por yonolose; 10/05/2008 a las 07:49
  #2 (permalink)  
Antiguo 10/05/2008, 14:53
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, 4 meses
Puntos: 2658
Re: Mover registros de una tabla a otra

Si los registros están en dos tablas de la base de datos, y quieres que se muevan de una a otra, siendo del mismo tipo y en el mismo orden:
Código:
INSERT INTO tabla2 SELECT * FROMA tabla1;
Si el problema es hacerlo en la página de PHP tienes dos formas:
- Lo resuelves mediante una funcion que barra las matrices de datos y las combine.
- Lo resuelves haciendo que la sentencia de consulta haga un JOIN entre tablas para combinar los resultados y te devuelva la información ordenada como quieres.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/05/2008, 07:33
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Re: Mover registros de una tabla a otra

Un poco de información:

Tengo una tabla A y en ella tengo 10 registros. Quiero pasar un registro con todas las columnas y todo a la tabla B, pero que desaparezca de la tabla A.
  #4 (permalink)  
Antiguo 23/05/2008, 10:48
 
Fecha de Ingreso: enero-2006
Mensajes: 10
Antigüedad: 18 años, 2 meses
Puntos: 1
De acuerdo Respuesta: Mover registros de una tabla a otra

Ok, mira hay varios formas de hacerlo, depende de la Version que utilices de MYSQL

Si utilzas la version 5.*, puedes creater un Procedimiento Almacenado, y ejecutarlo desde tu aplicacion cuantas veces lo necesites.

Por ejemplo:

Tenemos la tabla ventas con los siguientes campos:

Vendedor INT(11)
producto INT(11)
importe INT(11)
fecha DATE

y existe otra tabla que es identica solo que se llama ventas_historico

Seguramente queremos tener las ventas de los ultimos 3 meses en la tabla Ventas y todos los registros que tengan mayor tiempo sean movidos a la tabla ventas_historico.

lo que se hace es crear un procedimiento de esta forma:

---------------------

delimiter //

DROP PROCEDURE IF EXISTS sp_ventas_historico //

CREATE PROCEDURE sp_ventas_historico()
BEGIN
INSERT INTO ventas_historico SELECT * FROM ventas WHERE fecha < (CURDATE() - 90);

DELETE FROM ventas WHERE fecha < (CURDATE() - 90);

END
//

--------------------------


despues puedes llamar este procedimiento desde el codigo PHP

$query = "CALL sp_ventas_historico()";
$sql = mysql_query($query,$link);

Listo con esto ejecutas el procedimiento desde el codigo php, pero a mi ver deberias aprovechar las ventajas del Trigger.

cada ves que insertes un registro en la tabla ventas puede disparar el Trigger para que te mueva los registros que tengan mas de 90 dias hacia la tabla de ventas_historicas.

Todo depende si ese movimiento de registros lo queres automatizado o ejecutar cada cierto tiempo.

Si ocupas una Version anterior de mysql, te tocara hacer una consulta a la tabla y luego generar los insert de forma manual.

se me ocurre que los pongas dentro de un do while.

Espero te Sirva de algo esto que te comento.

necesitas mas ayuda , vuelve a preguntar.

Saludos,
  #5 (permalink)  
Antiguo 14/07/2008, 07:45
(Desactivado)
 
Fecha de Ingreso: marzo-2008
Mensajes: 641
Antigüedad: 16 años, 1 mes
Puntos: 7
Respuesta: Mover registros de una tabla a otra

...Un poco tarde, pero muchas gracias

Un saludo: BRUBY
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:28.