Espero que esto ayude a alguien ... Aquí hay un pequeño script PHP que escribí en caso de que necesite copiar algunas columnas pero no otras, y/o las columnas no están en el mismo orden en ambas tablas. Siempre que las columnas tengan el mismo nombre, esto funcionará. Entonces, si la tabla A tiene [ID de usuario, manejar, algo] y la tabla B tiene [ID de usuario, manejar, marca de tiempo], entonces "SELECCIONAR ID de usuario, manejar, AHORA() como marca de tiempo DESDE la tabla A", luego obtener el resultado de eso, y pase el resultado como el primer parámetro a esta función ($ z). $ toTable es un nombre de cadena para la tabla en la que está copiando, y $ link_identifier es el db al que está copiando. Esto es relativamente rápido para pequeños conjuntos de datos. No se sugiere que intente mover más de unos miles filas a la vez de esta manera en un entorno de producción. Utilizo esto principalmente para hacer una copia de seguridad de los datos recopilados durante una sesión cuando un usuario cierra la sesión, y luego borro inmediatamente los datos de la base de datos en vivo para mantenerlo.
function mysql_multirow_copy($z,$toTable,$link_identifier) {
$fields = "";
for ($i=0;$i<mysql_num_fields($z);$i++) {
if ($i>0) {
$fields .= ",";
}
$fields .= mysql_field_name($z,$i);
}
$q = "INSERT INTO $toTable ($fields) VALUES";
$c = 0;
mysql_data_seek($z,0); //critical reset in case $z has been parsed beforehand. !
while ($a = mysql_fetch_assoc($z)) {
foreach ($a as $key=>$as) {
$a[$key] = addslashes($as);
next ($a);
}
if ($c>0) {
$q .= ",";
}
$q .= "('".implode(array_values($a),"','")."')";
$c++;
}
$q .= ";";
$z = mysql_query($q,$link_identifier);
return ($q);
}
Puede echar un vistazo a esto. Funcionó para mí en mysql. http://stackoverflow.com/questions/57168/how-to-copy-a-row-from-one-sql-server-table-to-another – Shreyo