PyMySQL 插入二进制数

2016-12-01 10:28:45 +08:00
 XIVN1987
PyMySQL 执行 SQL 语句的函数如下:
def query(self, sql, unbuffered=False):
if isinstance(sql, text_type) and not (JYTHON or IRONPYTHON):
if PY2:
sql = sql.encode(self.encoding)
else:
sql = sql.encode(self.encoding, 'surrogateescape')
self._execute_command(COMMAND.COM_QUERY, sql)

PyMySQL 会把它要执行的 SQL 语句都执行一下 encode ,,这样我插入二进制数据时 SQL 语句中的二进制数据字节也会因此而被修改,插入数据库的数据显然就不是我要插入的数据了,,请问这种情况怎么办?? PyMySQL 没有办法控制不对要执行的 SQL 语句 encode 吗?
3976 次点击
所在节点    Python
21 条回复
billlee
2016-12-01 22:59:42 +08:00
自己拼接 SQL 语句,把数据转换成 0x0123456789abcdef 这样的十六进制字面值应该是可以的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/324500

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX