我有一个在 psql 中运行良好的查询,但在我的程序中产生了一个错误:
sql = 'SELECT id, x, y FROM table_name WHERE y NOT LIKE 'pa%' AND x IS NOT NULL;'
cur.execute(sql)
关于为什么它不起作用的任何指示?或者有什么建议,我该如何解决?
最佳答案
这与 PostgreSQL
与 MySQL
查询语法无关 - 这只是 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/