python - 查询在 psql 中有效,但在使用 psycopg2 的 Python 中出现语法错误

标签 python postgresql psycopg2 psql

我有一个在 psql 中运行良好的查询,但在我的程序中产生了一个错误:

sql = 'SELECT id, x, y FROM table_name WHERE y NOT LIKE 'pa%' AND x IS NOT NULL;' 
cur.execute(sql)

关于为什么它不起作用的任何指示?或者有什么建议,我该如何解决?

最佳答案

这与 PostgreSQLMySQL 查询语法无关 - 这只是 Python 中的语法错误:

>>> sql = 'SELECT id, x, y FROM table_name WHERE y NOT LIKE 'pa%' AND x IS NOT NULL;' 
  File "<stdin>", line 1
    sql = 'SELECT id, x, y FROM table_name WHERE y NOT LIKE 'pa%' AND x IS NOT NULL;' 
                                                              ^
SyntaxError: invalid syntax

将查询放在双引号中:

sql = "SELECT id, x, y FROM table_name WHERE y NOT LIKE 'pa%' AND x IS NOT NULL;"

关于python - 查询在 psql 中有效,但在使用 psycopg2 的 Python 中出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29356831/

相关文章:

python - 通过 PyCall 在 Julia 中使用 scikit-learn

Django 1.10 跨多个字段的全文搜索。如何获得不同的记录?

ruby-on-rails - 使用最大距离属性反向查询 Rails-Geocoder 中的位置

python - 多线程 python psycopg2

python - 如何使用 psycopg2 查询 postgres-db View ?

python - 使用delete_values参数的API调用字段删除不起作用

python - 具有Python脚本,conda和集群的SnakeMake规则

python - 斯坦福手套 : Dimension anomaly in glove. twitter.27B.200d

sql - Postgresql 函数返回复合值——如何将复合值作为单独的列访问?

Python 脚本绕过 PostgreSQL 登录?