擅长:python、mysql、java
<p>与<a href="http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt" rel="nofollow noreferrer">ANSI SQL-1992</a>之后的大多数关系数据库不同,msaccesssql(<a href="https://docs.microsoft.com/en-us/office/client-developer/access/desktop-database-reference/comparison-of-microsoft-access-sql-and-ansi-sql" rel="nofollow noreferrer">generally ANSI -89 Level 1 compliant</a>)不使用双引号作为表或列等标识符。在Access(如Python)中,双引号相当于单引号来括起字符串文本。你知道吗</p>
<p>因此,必须用空格或特殊字符<code>?!@#$%^&*()_+</code>或匹配的<a href="https://support.office.com/en-us/article/learn-about-access-reserved-words-and-symbols-ae9d9ada-3255-4b12-91a9-f855bdd9c5a2" rel="nofollow noreferrer">reserved words</a>转义标识符。使用方括号,这是与SQL Server和SQLite共享的功能:</p>
<pre><code>sql = '''SELECT * FROM view_price_list
WHERE SuppID = ? and [Price List Date] = ?
'''
</code></pre>
<p>或者使用backticks,一个与MySQL共享的功能:</p>
<pre><code>sql = '''SELECT * FROM view_price_list
WHERE SuppID = ? and `Price List Date` = ?
'''
</code></pre>