繁体   English   中英

Python参数化MySQL查询中的转义反斜杠

[英]Escape backslash in Python parameterized MySQL query

我正在处理excel文件和数据库存储,正好是将excel数据存储到MySQL数据库。 在某个时候,我正在执行以下查询:

query_for_id = ''' SELECT id FROM attivita WHERE attivita = '{0}' '''.format(attivita)

当我打印查询结果时,我得到:

'从attivita那里选择ID attivita = \\\\'Manutenzione \\\\''

当它尝试将'attivita'与来自excel的正确值相匹配时,由于出现'\\\\',我得到了错误。

我尝试将三重引号从“”更改为“”,并使用connection.escape_string() ,但我没有解决问题。有人可以帮助我解决问题吗?谢谢您。

我认为在您的情况下,最好使用参数执行

query_for_id = ''' SELECT id FROM attivita WHERE attivita = %(attivita)s '''
cursor.execute(query_for_id, { 'attivita': attivita })

https://dev.mysql.com/doc/connector-python/zh-CN/connector-python-api-mysqlcursor-execute.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM