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