擅长:python、mysql、java
<p>有点离题,但搜索相关问题的线索在这里。我想知道如何执行字符串的格式。koriander回答中给出的格式不适用于pg8000 1.10.5。以下是对我有用的:</p>
<pre><code> some_field_value = 'value'
sql = 'SELECT a_field FROM your_table WHERE some_field = %s'
cursor.execute(sql, [some_field_value])
</code></pre>
<p>文档中的详细信息:<a href="https://pythonhosted.org/pg8000/dbapi.html#pg8000.Cursor.execute" rel="nofollow noreferrer">pg8000 Cursor.execute</a></p>
<p>重要的一点是:</p>
<blockquote>
<p>args – If paramstyle is qmark, numeric, or format, this argument should be an array of parameters to bind into the statement</p>
</blockquote>
<p>要记住两件事:</p>
<ol>
<li>pg8000从不接受格式字符串(%s)的引号</li>
<li>pg8000.paramstyle的值很重要。默认值为“格式”</li>
</ol>