首页 >数据库 >mysql教程 >如何在Python中正确执行带变量的MySQL更新语句?

如何在Python中正确执行带变量的MySQL更新语句?

DDD
DDD原创
2024-11-08 19:46:02484浏览

How Do I Correctly Execute a MySQL Update Statement with Variables in Python?

要避免的陷阱:使用变量更正 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)

错误和修改:

  1. 缺少引号:整个语句应该用三引号或双引号括起来,以表示多行字符串。
  2. 不正确的逗号语法:使用多个赋值时,逗号应该分隔变量而不是字符串
  3. 缺少参数:“分钟”值在逗号后缺少变量名称。

更正的语句:

更新语句的正确语法是:

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn