在Python中同时执行多个MySQL插入

2024-03-29 07:56:46 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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中运行它时:

^{pr2}$

我得到这个错误:

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

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

谢谢!在


Tags: 字符串test命令sql错误语句形式commands
1条回答
网友
1楼 · 发布于 2024-03-29 07:56:46

此错误是因为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)

或立即执行:

^{pr2}$

相关问题 更多 >