更新查询 python mysql.connector

update query python mysql.connector

我正在做一个网络抓取项目,现在我正试图将我的数据存储到 MySQL 数据库(远程服务器)中。 我确定数据库配置已完成写入,但我不断收到此错误:

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: Commands out of sync; you can't run this command now

这是我的代码 (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()

您有一个多查询,因此您必须使用 connection string

中的参数

但是你只能在一个查询中完成

CREATE TABLE stand(id int ,price DECIMAL(19,2) )
INSERT INTO stand VALUES (1,100)
    UPDATE `stand` SET `price` = 9999 WHERE `id` = (SELECT MAX(`id`) FROM (SELECT `id` FROM `stand`)  st)
SELECT * FROM stand
id |   price
-: | ------:
 1 | 9999.00

db<>fiddle here