Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/11/2012, 07:35
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: copiar valores de campos de una tabla A a otra tabla B

Lo que te dice gnzsoloyo se traduce en que

Código MySQL:
Ver original
  1. INSERT INTO tabla_2 (nombre_usuario, email)  
  2. SELECT nombre_usuario, email FROM tabla_1 WHERE id = '$id'

esto si funcionará tenga los campos que tenga la tabla_1.

Lo que te decia yo es que

Código MySQL:
Ver original
  1. INSERT INTO tabla_1 SET nombre_usuario='el nombre', email="el@email";

seguido de

Código MySQL:
Ver original
  1. INSERT INTO tabla_2 SET nombre_usuario='el nombre', email="el@email";

Siempre serà mas rapido que el insert con la subconsulta.

Código MySQL:
Ver original
  1. INSERT INTO tabla_1 SET nombre_usuario='el nombre', email="el@email";
  2.  
  3. INSERT INTO tabla_2 (nombre_usuario, email)  
  4. SELECT nombre_usuario, email FROM tabla_1 WHERE id = '$id'


Insisto en que no tiene sentido guardar dos veces la misma información y ademas puede ser peligroso si en un momento no se hace lo mismo en las dos tablas... puede que dar incoherente

Código MySQL:
Ver original
  1. CREATE VIEW tabla_2 as SELECT nombre_usuario, email FROM tabla_1

Ejecutado una sola vez, incluso antes de insertar nada en tabla_1 te darà un objeto tabla_2 que siempre tendrá los mismos nombre_usuario e email que tenga tabla_1 sin necesidad de guardar dos veces la misma información ni necesidad de dar acceso a la tabla_1 que puede contener mas información.

Si borras algo de tabla_1 desaparecera de la vista y si modificas algo tambien se modificará en la vista.

Para consultar la vista es lo mismo que si fuera una tabla

Código MySQL:
Ver original
  1. SELECT * FROM tabla_2

Aun que tabla_2 sea una vista (view).

Lo normal es poner nombres que te digan si es una vista o una tabla, por ejeplo usar el prefijo "v_" para indicar que el objeto es una vista pero solo sirve para que el programador sepa que esta tocando....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 02/11/2012 a las 07:43