![]() |
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 :aplauso: |
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;- 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. |
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. |
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, :aplauso: |
Respuesta: Mover registros de una tabla a otra ...Un poco tarde, pero muchas gracias :aplauso::aplauso::aplauso::aplauso: Un saludo: BRUBY |
| La zona horaria es GMT -6. Ahora son las 07:03. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.