<class'psycopg2.programmingerror'=“”>

时间:2015-07-18 13:50:44

标签: python sql database postgresql-9.1 psycopg2

我是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

你可以帮帮我吗?这让我发疯了

1 个答案:

答案 0 :(得分:2)

应该是:

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

也就是说,它应该是where而不是wehere。由于SQL中没有wehere之类的函数,因此抛出了语法错误。

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