开发者社区> 问答> 正文

Python MYSQL更新声明?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)
有什么想法我要去哪里吗?

展开
收起
保持可爱mmm 2020-05-17 21:14:32 1124 0
1 条回答
写回答
取消 提交回答
  • 它应该是:

    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注入。因为以正确的方式完成tm是如此容易(和类似)。正确地做。

    您唯一需要注意的是,某些数据库后端没有遵循相同的字符串替换约定(想到了SQLite)。来源:stack overflow

    2020-05-17 21:23:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载