gpt4 book ai didi

python - 在 Python 中一次执行多个 MySQL 插入

转载 作者:行者123 更新时间:2023-11-29 06:43:21 25 4
gpt4 key购买 nike

我有一个字符串,它基本上是多个插入语句的串联,例如

sql = INSERT INTO test (a,b,c) VALUES ("test","test",1);INSERT INTO test (a,b,c) VALUES ("2nd test","2nd test",6);

当我在 SQL 中将其作为查询运行时,它工作正常并插入了两个语句。

但是,当我使用以下命令在 python 中运行它时:

cursor = db.cursor()
sql = INSERT INTO test (a,b,c) VALUES ("test","test",1);INSERT INTO test (a,b,c) VALUES ("2nd test","2nd test",6);
cursor.execute(sql)
db.commit()

我收到这个错误:

ProgrammingError: (2014, "Commands out of sync; you can't run this command now")

解决此问题并一次执行多个语句的最佳方法是什么?

谢谢!

最佳答案

此错误与 cursor.execute 每次运行只能处理一个 sql 这一事实有关。你要么想要循环它:

sql = 'INSERT INTO test (a,b,c) VALUES (%s, %s, %s)'
for values in [("test","test",1), ("2nd test","2nd test",6)]
cursor.execute(sql, values)

或立即执行:

sql = 'INSERT INTO test (a,b,c) VALUES ("test","test",1),("2nd test","2nd test",6)'
cursor.execute(sql)

关于python - 在 Python 中一次执行多个 MySQL 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20104519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com