gpt4 book ai didi

python - 删除行后 commit() 未提交 mysql 表

转载 作者:太空宇宙 更新时间:2023-11-04 01:53:29 27 4
gpt4 key购买 nike

我试图通过 python 中的循环删除 mysql 表中的多行。没有错误消息,但最后表没有更新。我的代码是:

import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="root",
password="1234",
database="Share")
mycursor = mydb.cursor()

for i in range(288, 297):
sql = "DELETE from name_list where ID = " + str(i)
mycursor.execute(sql)
mydb.commit()

mycursor.execute("SELECT * from Share.name_list")
for row in mycursor.fetchall() :
print(row)

谢谢

最佳答案

这个怎么样?

for i in range(288, 297):
sql = "DELETE from name_list where ID = %s"
mycursor.execute(sql, (i, ))
mydb.commit()

source

这应该会根据数据类型自动引用变量,并具有 sql 注入(inject)保护的额外好处。在这种情况下没关系,因为参数总是由 range() 生成,但手动将变量连接到 sql 查询中通常是个坏习惯。

关于python - 删除行后 commit() 未提交 mysql 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57456155/

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