INSERT [LOW_PRIORITY | HIGH_PRIORITY] [IGNORE] [INTO]tbl_name[(col_name,...)] SELECT ... [ ON DUPLICATE KEY UPDATEcol_name=expr, ... ]
          Con INSERT ... SELECT, puede insertar
          rápidamente varios registros en un atabla desde una o varias
          tablas.
        
Por ejemplo:
INSERT INTO tbl_temp2 (fld_id) SELECT tbl_temp1.fld_order_id FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
          La siguiente condición sirve para un comando INSERT
          ... SELECT :
        
              En MySQL 5.0, especifique IGNORE
              explícitamente para ignorar registros que causarían
              violaciones de clave duplicada.
            
              No use DELAYED con INSERT ...
              SELECT.
            
              En MySQL 5.0, la tabla objetivo del comando
              INSERT puede aparecer en la cláusula
              FROM de la parte
              SELECT de la consulta. (Esto no era
              posible en algunas versiones antiguas de MySQL.)
            
              Las columnas AUTO_INCREMENT funcionan
              normalmente.
            
              Para asegurar que el log binario puede usarse para recrear
              las tablas originales, MySQL no permite inserciones
              concurrentes durante INSERT ... SELECT.
            
Actualmente, no puede insertar en una tabla y seleccionar de la misma tabla en una subconsulta.
          En las partes de valores de ON DUPLICATE KEY
          UPDATE puede referirse a una columna en otras
          tablas, mientras no use GROUP BY en la
          parte SELECT . Un efecto lateral es que
          debe calificar los nombres de columna no únicos en la parte
          de valores.
        
          Puede usar REPLACE en lugar de
          INSERT para sobreescribir registros
          antiguos REPLACE es la contraparte de
          INSERT IGNORE en el tratamiento de nuevos
          registros que contienen valores de clave única que duplican
          registros antiguos: Los nuevos registros se usan para
          reemplazar los antiguos registros en lugar de descartarlos.
        
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

