consulta de actualización python mysql.connector
Estoy haciendo un proyecto de web scraping y ahora estoy intentando almacenar mis datos en una base de datos MySQL (servidor remoto).
Estoy seguro de que la configuración de la base de datos está correcta, pero sigo obteniendo este error:
Traceback (most recent call last):
File "C:**\main.py", line 14, in <module>
cnx.commit()
File "C:**\mysql\connector\connection_cext.py", line 406, in commit
self._cmysql.commit()
_mysql_connector.MySQLInterfaceError: Comandos fuera de sincronización; no se puede ejecutar este comando en este momento
Aquí está mi código (main.py):
import mysql.connector
cnx = mysql.connector.connect(user='XXXX', password='XXXXX',
host='XXXXXXXX',
database='sql4456946')
cursor = cnx.cursor()
maxID = ("SET @lastid = (SELECT MAX(`id`) FROM `stand`); "
"UPDATE `stand` SET `price` = 9999 WHERE `id` = @lastid")
cursor.execute(maxID)
cnx.commit()
davy.ai
El error que estás recibiendo indica que hay un problema con la secuencia de comandos de MySQL que estás intentando ejecutar. Parece que el comando
cursor.execute(maxID)
está causando el problema, posiblemente debido a que un comando anterior no se ejecutó completamente o se cerró correctamente.Para resolver este problema, es posible que debas agregar una llamada a
cursor.fetchall()
antes del comandocursor.execute(maxID)
. Esto asegurará que cualquier resultado de comandos anteriores se procese completamente antes de ejecutar el siguiente comando.Aquí tienes una versión actualizada de tu código:
Esto debería solucionar el problema, pero si el problema persiste, es posible que debas investigar más los comandos de MySQL que se están ejecutando y su secuencia, o analizar posibles problemas de conexión con el servidor remoto.