vistas una tablas rendimiento recomendaciones queries porque optimizador lenta las grandes dañan cuello consulta como botella agilizar python mysql sql-update mysql-connector-python

una - Actualización mySQL de Python, trabajando pero no actualizando la tabla



view lenta mysql (3)

Como señaló @Lazykiddy, debe confirmar sus cambios después de cargarlos en mysql.

También puede utilizar este enfoque para habilitar la configuración de confirmación automática, justo después de la inicialización de la conexión de MySQL:

dbb.autocommit(True)

Luego, confirmará automáticamente los cambios que realizó durante la ejecución del código.

Tengo un script de Python que necesita actualizar una base de datos mysql, hasta ahora he tenido:

dbb = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database") try: curb = dbb.cursor() curb.execute ("UPDATE RadioGroups SET CurrentState=1 WHERE RadioID=11") print "Row(s) were updated :" + str(curb.rowcount) curb.close() except MySQLdb.Error, e: print "query failed<br/>" print e

La secuencia de comandos imprime las Row(s) were updated : con el número correcto de filas que tienen un RadioID de 11. Si cambio el RadioID a otro número que no RadioID en la tabla, dirá que las Row(s) were updated :0 . Sin embargo, la base de datos no se actualiza en realidad. El campo CurrentState simplemente permanece igual. Si copio y pego la declaración SQL en PHPMyAdmin, funciona bien.


las dos respuestas son correctas Sin embargo, también puedes hacer esto:

dbb = MySQLdb.connect(host="localhost", user="user", passwd="pass", db="database", autocommit=True)

agregar autocommit = True


utilizar

dbb.commit()

después

curb.execute ("UPDATE RadioGroups SET CurrentState=1 WHERE RadioID=11")

para confirmar todos los cambios que ''cargaste'' en el servidor mysql