要避免的陷阱:使用变量更正 Python MySQL 更新语句
当尝试在 Python 中执行 MySQL 更新语句时,必须确保正确语法和数据处理。此问题突出显示了错误语句中所犯的具体错误。
不正确的语句:
提供的初始代码存在几个问题:
cursor.execute ("UPDATE tblTableName SET Year=%s" % Year ", Month=%s" % Month ", Day=%s" % Day ", Hour=%s" % Hour ", Minute=%s" Minute "WHERE Server=%s " % ServerID)
错误和修改:
更正的语句:
更新语句的正确语法是:
cursor.execute (""" UPDATE tblTableName SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s WHERE Server=%s """, (Year, Month, Day, Hour, Minute, ServerID))
另一个选项涉及基本字符串操作:
cursor.execute ("UPDATE tblTableName SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s WHERE Server='%s' " % (Year, Month, Day, Hour, Minute, ServerID))
注意事项:
虽然后一种方法有效,但建议使用以避免由于潜在的 SQL 注入漏洞而出现这种做法。推荐的方法是使用参数替换,如第一个示例所示。
以上是如何在Python中正确执行带变量的MySQL更新语句?的详细内容。更多信息请关注PHP中文网其他相关文章!