<class 'psycopg2.ProgrammingError'>

<class 'psycopg2.ProgrammingError'>

我是 Python 的新手。我正在执行这个非常基本的查询:

connection = psycopg2.connect("dbname='test' host='localhost' user='admin' password='pass' port='9100'")
cur = connection.cursor()
cur.execute("""SELECT id FROM pages WEHERE uri = %(uri)s""", {'uri': uri})
row = cur.fetchall()

并不断收到此错误:

<class 'psycopg2.ProgrammingError'>
('syntax error at or near "uri"\nLINE 1: SELECT id FROM pages WEHERE uri = \'http://example.com/index.php...\n  ^\n',)

uri 是一个字符串,值为 http://example.com/index.php

你能帮帮我吗??这让我发疯

应该是:

cur.execute("""SELECT id FROM pages WHERE uri = %(uri)s""", {'uri': uri})

即应该是where而不是wehere。由于SQL中没有wehere这样的函数,所以抛出语法错误。

错误本身是不言自明的。下次,仔细阅读错误信息。