gpt4 book ai didi

python - MySQL删除查询不执行

转载 作者:行者123 更新时间:2023-11-29 11:55:51 29 4
gpt4 key购买 nike

我想检查重复的联系人并将其从用户的联系人列表中删除。没有错误消息,它只是不执行。为什么不起作用?

cmd = "DELETE FROM contacts WHERE contact LIKE '{0}'.format(str(contact_))"
print(cmd)
# DELETE FROM contacts WHERE contact LIKE 'Ilovecake'
cur.execute(cmd)
conn.commit()
conn.close()

最佳答案

您很容易受到 SQL 注入(inject)攻击。切勿直接格式化查询字符串,始终使用参数化查询。

您的查询当前匹配等于 contact_ 的联系人,但您使用 LIKE 意味着您想要匹配包含以下内容的联系人值(value)。在查询中使用通配符。

cur.execute('delete from contacts where contact like ?', ('%{}%'.format(contact_),))

占位符可能会有所不同,具体取决于您使用的 dbapi 驱动程序。您可以使用 Flask-SQLAlchemy/SQLAlchemy 规范参数替换并自动管理连接和 session 。

关于python - MySQL删除查询不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33200982/

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