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

Copiar datos entre tablas

Estas en el tema de Copiar datos entre tablas en el foro de Mysql en Foros del Web. El caso es el siguiente : Tengo una base de datos con dos tablas: Tabla1 - campos que quiero copiar id catid sid title url ...
  #1 (permalink)  
Antiguo 18/11/2008, 16:02
 
Fecha de Ingreso: febrero-2008
Mensajes: 16
Antigüedad: 16 años, 2 meses
Puntos: 0
Copiar datos entre tablas

El caso es el siguiente :

Tengo una base de datos con dos tablas:

Tabla1 -
campos que quiero copiar
id
catid
sid
title
url
description

Tabla2 quiero copiar esos datos a la tabla 2 que tiene mas campos que la tabla 1
pero tiene esos cinco campos en comun
id
catid
sid
title
url
description

he mirado y los campos en las dos tablas son del mismo tipo,

como puedo hacer para copiarlos
  #2 (permalink)  
Antiguo 18/11/2008, 20:02
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: Copiar datos entre tablas

La sintaxis es la siguiente...
Código:
INSERT INTO tabla2 (id, catid , sid, title, url, description)
SELECT t.id, t.catid, t,sid, t.title, t.url, t.description FROM tabla1;
Espero te sirva.
  #3 (permalink)  
Antiguo 19/11/2008, 00:24
 
Fecha de Ingreso: febrero-2008
Mensajes: 16
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Copiar datos entre tablas

Lo he intentando pero me lanza el error

Cita:
MySQL ha dicho: Documentación
#1136 - Column count doesn't match value count at row 1
  #4 (permalink)  
Antiguo 19/11/2008, 03:30
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Copiar datos entre tablas

Eso es porque hay una errata en la sintaxis: t,sid, en lugar de t.sid

INSERT INTO tabla2 (id, catid , sid, title, url, description)
SELECT t.id, t.catid, t,sid, t.title, t.url, t.description FROM tabla1;

Prueba así:

INSERT INTO tabla2 (id, catid , sid, title, url, description)
SELECT t.id, t.catid, t.sid, t.title, t.url, t.description FROM tabla1 t;

al aparecer la coma, se entiende que quieres insertar 7 datos en 6 campos y las cuentas no le resultan al programa. También deberías establecer el alias t si lo estás usando en la sintaxis.
  #5 (permalink)  
Antiguo 19/11/2008, 07:24
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: Copiar datos entre tablas

Cita:
Iniciado por jurena Ver Mensaje
Eso es porque hay una errata en la sintaxis: t,sid, en lugar de t.sid

INSERT INTO tabla2 (id, catid , sid, title, url, description)
SELECT t.id, t.catid, t,sid, t.title, t.url, t.description FROM tabla1;

Prueba así:

INSERT INTO tabla2 (id, catid , sid, title, url, description)
SELECT t.id, t.catid, t.sid, t.title, t.url, t.description FROM tabla1 t;

al aparecer la coma, se entiende que quieres insertar 7 datos en 6 campos y las cuentas no le resultan al programa. También deberías establecer el alias t si lo estás usando en la sintaxis.
Ups!!!

Muy cierto... es que lo hice a la rápida... pido mil disculpas!
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




La zona horaria es GMT -6. Ahora son las 19:16.