首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python上MySQL查询中的转义引号

python上MySQL查询中的转义引号
EN

Stack Overflow用户
提问于 2017-07-04 03:37:13
回答 1查看 448关注 0票数 0

我正在尝试使用sql查询中的引号来解决问题。我知道在stackoverflow上问了很多问题。但没有人为我工作。可能是因为我正在使用其他框架(pyMySQL)进行sql连接。我尝试了参数化的mysql查询:

代码语言:javascript
运行
复制
    conn = pymysql.connect(host ='host', user='user', passwd='user', db='db', charset='utf8mb4')
    cur = conn.cursor()
    cur.execute("USE db")
    cur.execute("UPDATE table SET callback_data = %s, message = %s, photo = %s, location = %s, first_name_last_name = %s WHERE user_id=%s",
(callback_data, message, photo, location, first_name_last_name, user_id))
    cur.connection.commit()
    cur.close()
    conn.close()

但我总是收到%s的错误(错误消息:预期的,得到%s)。我的python版本是3.6.1。如何在sql查询中转义引号?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2017-09-15 15:59:11

首先,正如Ilja sayed所说,你必须对mysql保留字使用反引号。

然后,对于文本/varchar字段,您可以使用json转储:

代码语言:javascript
运行
复制
import json

..。

代码语言:javascript
运行
复制
cur.execute("UPDATE `table` SET callback_data = %s, message = %s, photo = %s, location = %s, first_name_last_name = %s WHERE user_id=%s", % (
  json.dumps(callback_data),
  json.dumps(message),
  json.dumps(photo),
  json.dumps(location),
  json.dumps(first_name_last_name),
  json.dumps(user_id)
  )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44892853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档