为什么我的 Python MySQL 更新语句失败,如何修复?

Mary-Kate Olsen
发布: 2024-11-08 13:26:02
原创
732 人浏览过

Why is My Python MySQL Update Statement Failing, and How Can I Fix It?

使用变量更正 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)
登录后复制

分析:

由于字符串连接不正确以及“Minute”变量缺少占位符,错误的语句失败。编写此语句的正确方法是:

正确语句:

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 注入攻击。推荐的方法是使用占位符,如正确的语句所示。

数据库兼容性:

此外,某些数据库后端可能有不同的字符串替换约定。例如,SQLite 使用“?”而不是占位符的“%s”。

以上是为什么我的 Python MySQL 更新语句失败,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板