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

Obtener primary key mediante otro campo en un INSERT

Estas en el tema de Obtener primary key mediante otro campo en un INSERT en el foro de Mysql en Foros del Web. Hola! Quisiera saber... Quiero hacer un INSERT en una tabla relacional N a M, la cuestión aquí es que, tanto de la primer tabla como ...
  #1 (permalink)  
Antiguo 03/02/2015, 23:13
Avatar de BillieBert  
Fecha de Ingreso: diciembre-2011
Mensajes: 37
Antigüedad: 12 años, 4 meses
Puntos: 1
Busqueda Obtener primary key mediante otro campo en un INSERT

Hola!

Quisiera saber...



Quiero hacer un INSERT en una tabla relacional N a M, la cuestión aquí es que, tanto de la primer tabla como de la segunda, no cuento con el identificador, me explico...

Quisiera confeccionar una tabla relacional C de la tabla A con la tabla B, ambas tienen un identificador único para cada registro, pero yo al momento de insertar los registros con la cláusula INSERT no tengo a la mano el identificador de ninguna de las dos, sino que recibo otros datos que corresponden a otros campos de ambas tablas, pero que no son el primary key...

Ahora la pregunta, ¿existe alguna forma de obtener el identificador del registro tanto de la tabla A como de la tabla B mediante la búsqueda de otro de sus campos, para hacer la inserción del registro con estos datos?



¿Alguna solución? Intenté buscando por internet pero al no saber como explicárselo a Google, decidí preguntarlo aquí directamente.

Espero haberme explicado bien, y de antemano pido disculpas, pues apenas empiezo con esto de las bases de datos, perdón si me expreso de maneras extrañas.
__________________
La religión y la política pasaron de moda. Lo de hoy es el arte y el idealismo.
  #2 (permalink)  
Antiguo 04/02/2015, 00:39
Avatar de BillieBert  
Fecha de Ingreso: diciembre-2011
Mensajes: 37
Antigüedad: 12 años, 4 meses
Puntos: 1
Respuesta: Obtener primary key mediante otro campo en un INSERT

Ok, ya encontré una solución parcial, que es usar INSERT SELECT con el siguiente formato:

INSERT INTO tabla_c SELECT * FROM tabla_a WHERE valor = x;

Pero ahora me parto el coco tratando de utilizar dos SELECT...

INSERT INTO tabla_c (id_1, id_2) SELECT id FROM tabla_a WHERE valor = x, SELECT id from tabla_b WHERE valor = y;

Es posible? Cuál sería la sintaxis correcta? o si no, de qué otro modo podría hacerlo?
__________________
La religión y la política pasaron de moda. Lo de hoy es el arte y el idealismo.

Etiquetas: campo, insert, key, mediante, primary, registro, 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 21:18.