更新查询 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
我正在做一个网络抓取项目,现在我正试图将我的数据存储到 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