在这里,我试图删除任何在其电子邮件/用户名中包含 “ 的用户。
def removeQuote(self, tbl,record):
""" Updates the record """
statmt="select id from %s WHERE `email` LIKE '%%\"%%'" % (tbl)
self.cursor.execute(statmt)
rows=list(self.cursor.fetchall())
for idx, val in enumerate(rows):
id= val[0]
delstatmt = "DELETE FROM `maillist_subscription` WHERE id = '%s'" % id
print delstatmt
self.cursor.execute(delstatmt)
此输出显示操作成功完成,但记录保留在数据库中。输出还显示了正确的 mysql 语句:
DELETE FROM `maillist_subscription` WHERE id = '8288754'
感谢你的帮助!
原文由 Cmag 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要使用连接对象上的 commit() 方法来提交更改。大多数 DBAPI 接口使用隐式事务。
另外,不要使用字符串格式来生成 SQL 查询!它会让你接受 SQL 注入:
不安全!!
安全的!