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

[SOLUCIONADO] como insertar datos en varias tablas mysql

Estas en el tema de como insertar datos en varias tablas mysql en el foro de Bases de Datos General en Foros del Web. Saludos, posiblente estea pregunta ya ha sido demaciado posteada (de hecho encontre una similares con código php y eso) pero aun asi no encuentro algo ...
  #1 (permalink)  
Antiguo 28/04/2016, 13:48
 
Fecha de Ingreso: febrero-2016
Ubicación: D.F.
Mensajes: 30
Antigüedad: 8 años, 2 meses
Puntos: 0
Pregunta como insertar datos en varias tablas mysql

Saludos, posiblente estea pregunta ya ha sido demaciado posteada (de hecho encontre una similares con código php y eso) pero aun asi no encuentro algo en concreto que me resuelva la duda.

Por ejemplo, tengo 2 tablas una tabla_a y otra tabla_b, y ambas estan relacionadas de uno a muchos, siendo que tabla_a tiene la llave primaria y tabla_b es el que tiene las llaves foraneas (espero no estar mal ya que asi es como lo entiendo yo).

Ahora supongamos que quiero insertar datos en ambas tablas a la vez, usando un query.

Se que la estructura para la insercción es esta:

Código:
INSERT INTO nombre_tabla (
campo1, campo2, campo(n) )
VALUES (
'dato1','dato2','dato(n)' );
Se tambien que, si inserto datos en la tabla_b donde estan las llaver foraneas y estas no existen como primaria no podre insertarlo, asi que primero debdo de insertar en la tabla_a para despues hacerlo en la tabla_b.

Mi duda es, ¿Se puede insertar en ambas tablas en un solo query?

No hablo de utilizar código php por el momento, si no, solo querys mysql esa es mi duda.

Y si es cierto, ¿Cual es el limite de tablas a utilizar en esta insercción? no se si exista algo asi.
  #2 (permalink)  
Antiguo 28/04/2016, 13:51
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: como insertar datos en varias tablas mysql

Un insert a 2 tablas en el mismo query no se puede, asi mismo tampoco se puede ninguna operacion de DML que afecte 2 tablas a la misma ves(Insert,update,delete), aqui seria que hicieras un insert en cascada(primero la tabla padre, despues obtienes el id e insertas en la tabla hija) ya sea con procedures o con un trigger
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 28/04/2016, 17:50
 
Fecha de Ingreso: febrero-2016
Ubicación: D.F.
Mensajes: 30
Antigüedad: 8 años, 2 meses
Puntos: 0
De acuerdo Respuesta: como insertar datos en varias tablas mysql

Cita:
Iniciado por Libras Ver Mensaje
Un insert a 2 tablas en el mismo query no se puede, asi mismo tampoco se puede ninguna operacion de DML que afecte 2 tablas a la misma ves(Insert,update,delete), aqui seria que hicieras un insert en cascada(primero la tabla padre, despues obtienes el id e insertas en la tabla hija) ya sea con procedures o con un trigger
ok, es decir, que tendria que realizar querys separados??? uno para cada tabla por lo que entiendo no? ¿es asi?
  #4 (permalink)  
Antiguo 28/04/2016, 17:59
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: como insertar datos en varias tablas mysql

Si. Tal cual.
No hay métodos automágicos para insertar en múltiples tablas. Usualmente cuando se necesita encapsular eso en un sólo pasó se utilizan stored Procedures. pero dentro de ellos sigue habiendo varas inserciones secuenciales diferentes.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 29/04/2016, 08:55
 
Fecha de Ingreso: febrero-2016
Ubicación: D.F.
Mensajes: 30
Antigüedad: 8 años, 2 meses
Puntos: 0
De acuerdo Respuesta: como insertar datos en varias tablas mysql

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Si. Tal cual.
No hay métodos automágicos para insertar en múltiples tablas. Usualmente cuando se necesita encapsular eso en un sólo pasó se utilizan stored Procedures. pero dentro de ellos sigue habiendo varas inserciones secuenciales diferentes.
jajajaja automágicos, la palabra es algo graciosa. Ok lo entiendo, muchas gracias a todos por la ayuda.

Etiquetas: mysql+consulta, programación-general, web+general
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 11:35.