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

[SOLUCIONADO] hacer insert de dos tablas

Estas en el tema de hacer insert de dos tablas en el foro de Mysql en Foros del Web. hola amios porque no puedo hacer esto: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original insert into certif0 values ( id_cer0 , ano , ue , idDocu ...
  #1 (permalink)  
Antiguo 06/07/2013, 10:53
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
hacer insert de dos tablas

hola amios porque no puedo hacer esto:
Código MySQL:
Ver original
  1. insert into certif0 values(id_cer0, ano, ue, idDocu, numero, idOfi, idRes, fecha, justificacion,
  2. total, estado, estResp, estLogi, estUpp, estFin, user, fecha2, justificacion2)
  3. select * from certmp0  LIMIT 1

me sale este error

[Error] Líneas de script: 4-6 ----------------------
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select * from certmp0' at line 2

Advertencias: --->
W (1): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select * from certmp0' at line 2
<---
[Ejecutado: 06/07/13 11:55:52 AM COT] [Ejecución: 0ms]


ALGUNA Otra forma de hacerlo, pero sin mencionar columnas x columnas????

GRACIAS!!!!!

Última edición por gnzsoloyo; 06/07/2013 a las 11:18
  #2 (permalink)  
Antiguo 06/07/2013, 11:19
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: hacer insert de dos tablas

Estás metiendo dos sentencias diferentes al mismo tiempo, sin poner los terminadores de sentencias (el punto y coma).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 06/07/2013, 12:01
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: hacer insert de dos tablas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Estás metiendo dos sentencias diferentes al mismo tiempo, sin poner los terminadores de sentencias (el punto y coma).

sabes asi funca :

insert into certif0 (id_cer0,ano,ue,idDocu,numero,idOfi,idRes,fecha,ju stificacion,total,estado,estResp,estLogi,estUpp,es tFin,user,fecha2,justificacion2)
select * from certmp0


pero pq no puedo hacer de tabla a tabla

insert into certif0
select c.* from certmp0 c

las dos tablas son identicas, el unico detalle esta que certif0 tiene un campo adicional que es el autoincrement

alguna sugerencia amio????
  #4 (permalink)  
Antiguo 06/07/2013, 12:07
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: hacer insert de dos tablas

YEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE,

LEYENDO UN FORO AMERICANO ASI QUEDA INSERTAR DE TABLA A TABLA

insert into certif0
select '0', c.* from certmp0 c
  #5 (permalink)  
Antiguo 06/07/2013, 13:50
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: hacer insert de dos tablas

Es obvio que te iba a fallar si había alguna diferencia entre ambas, porque el INSERT INTO ... SELECT requiere si o si que exista la misma cantidad de campos en el la tabla destino que en la consultada en el SELECT...
Eso es de manual.

En cuanto a la "solución" que mencionas, es una forma de forzar la existencia de un campo de salida adicional, pero sólo te funcionará bien si el primer campo de la tabla destino es el campo adicional, y además no es PK.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 06/07/2013, 16:03
 
Fecha de Ingreso: agosto-2009
Ubicación: Lima
Mensajes: 226
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: hacer insert de dos tablas

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Es obvio que te iba a fallar si había alguna diferencia entre ambas, porque el INSERT INTO ... SELECT requiere si o si que exista la misma cantidad de campos en el la tabla destino que en la consultada en el SELECT...
Eso es de manual.

En cuanto a la "solución" que mencionas, es una forma de forzar la existencia de un campo de salida adicional, pero sólo te funcionará bien si el primer campo de la tabla destino es el campo adicional, y además no es PK.
si en efecto es una tabla q no tiene PK,

saludos
  #7 (permalink)  
Antiguo 06/07/2013, 17:46
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: hacer insert de dos tablas

Cita:
si en efecto es una tabla q no tiene PK,


Una tabla siempre debe tener una clave primaria. SIEMPRE.
No ponerle PK es transformar a esa tabla en un repositorio de trash-data. Es un requisito fundamental del modelo entidad-relación que no se puede soslayar.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: insert, select, sql, tablas
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 12:43.