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

insert con select de otra tabla

Estas en el tema de insert con select de otra tabla en el foro de Mysql en Foros del Web. hola! tengo que hacer dos inserciones en mi bd, la segunda es dependiente de la primera, ya que debe incluir el valor de id que ...
  #1 (permalink)  
Antiguo 17/06/2011, 01:32
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 2 meses
Puntos: 17
insert con select de otra tabla

hola! tengo que hacer dos inserciones en mi bd, la segunda es dependiente de la primera, ya que debe incluir el valor de id que ha metido:

Código:
mysql> describe pruebaJuntos1;
+--------+-------------+------+-----+---------+----------------+
| Field  | Type        | Null | Key | Default | Extra          |
+--------+-------------+------+-----+---------+----------------+
| id     | int(11)     | NO   | PRI | NULL    | auto_increment |
| nombre | varchar(20) | NO   |     | NULL    |                |
+--------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)



mysql> describe pruebaJuntos2;
+-----------+---------+------+-----+---------+----------------+
| Field     | Type    | Null | Key | Default | Extra          |
+-----------+---------+------+-----+---------+----------------+
| id        | int(11) | NO   | PRI | NULL    | auto_increment |
| idDelOtro | int(11) | NO   |     | NULL    |                |
+-----------+---------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
Inserto el primero sin problemas, para insertar el segudno, hay alguna forma de "saltarse" el SELECT? es decir, algo similar a esto:

Código:
mysql> INSERT INTO pruebaJuntos2 VALUES(0, pruebaJuntos1.id);
ERROR 1054 (42S22): Unknown column 'pruebaJuntos1.id' in 'field list'
pero que funcione.

Gracias!!!
  #2 (permalink)  
Antiguo 17/06/2011, 01:41
 
Fecha de Ingreso: octubre-2009
Mensajes: 29
Antigüedad: 14 años, 6 meses
Puntos: 4
Respuesta: insert con select de otra tabla

Buenas, pues la verdad es que no se puede hacer eso. La sentencia correcta sería:

insert into pruebaJuntos2
select id
from pruebaJuntos1

no pongo id en pruebaJuntos2 porque lo tienes definido como auto incremental.

Un saludo
  #3 (permalink)  
Antiguo 17/06/2011, 03:18
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 2 meses
Puntos: 17
Respuesta: insert con select de otra tabla

Perfectísimo!!! GRACIAS

ahora rizamos más el rozo si es posible...


¿puedo hacer las dos inserciones a la vez?
  #4 (permalink)  
Antiguo 17/06/2011, 03:26
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, 5 meses
Puntos: 2658
Respuesta: insert con select de otra tabla

Sólo puedes hacer la inserción que el SELECT devuelva. Si ese SELECT devuelve más de un registro, se insertará más de uno.
Lo que no puedes hacer es insertar en más de una tabla al mismo tiempo.
__________________
¿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, tabla
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 16:48.