Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Como hacer up date a tablas anidadas
#1
hola

Quiero preguntar si alguien sabe como hacer una Update a 2 tablas a la vez
en realidad es mas complejo aun 
hay que hacer un Update a una tabla y a otra puede ser un Update, delete o un insert

mas detalles

tengo un formulario donde ser escriben datos como de cabecera por decirlo así y esos datos van a una tabla 
pero en ese formulario hay una grilla donde se escriben registros que van a otra tabla

Que necesito que si alguien abre un registros con su cabecera y en la grilla hay varios registros 
puede que esos registros le cambien un valor y necesite un Update  pero, puede ser que eliminen un registro ahí necesite un delete 
como también puede que agreguen mas registros entonces hay que hacer un inset
hasta podría ser que se realicen varios de estos actos juntos.

si alguien sabe como hacerlo 
les pido si me pueden dar una mano con eso
no soy muy bueno en eso de las consulta en MySQL así que si fuera lo mas sencillo posible para poder entender se agradecería

muchos saludos
Responder
#2
Hola, ¿cómo estás?

¿Esas consultas las estás haciendo desde un programa de Python? En general, en cualquier base de datos podés separar varias consultas SQL por punto y coma.

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
Suponiendo que ya tienes la conexion a la base de datos. Entonces algo asi (pseudo codigo). Nota que todo esta dentro una transaction todo es exitoso o nada es:

Código:
con = db.engine.connect()
    trans = con.begin()

    con.execute("update table1 set column1 = 'blah' where column5 = 'blahblah'")
    
    # el valor existed?
    value = con.execute("select count(*) from table2 where column1 = 'blahblah'")
    if value:
       # value existed entonces update
        con.execute("update table2 set column1 = 'blah' where column5 = 'blahblah'")
    else:
       con.execute("insert into table2 values (......)
    
    trans.commit()

Salu2
Responder
#4
hola

gracias por sus respuesta 
me sirvieron de mucho
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)