【问题标题】:<class 'psycopg2.ProgrammingError'><class 'psycopg2.ProgrammingError'>
【发布时间】:2015-07-18 13:50:43
【问题描述】:

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

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

【问题讨论】:

    标签: python sql database postgresql-9.1 psycopg2


    【解决方案1】:

    应该是:

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

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

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

    【讨论】:

    • @lyxio 它往往发生在下一次开始尝试仔细查看错误并快乐学习。在我们之间它也发生在我身上:P
    • @lyxio 您显示的错误与您的 sql 中的数据有关,不确定错误是什么,但如果您使用 SQL 的架构询问另一个关于 SO 的问题,您会得到很好的回应表和你的错误,并给出一个不错的标题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-09
    • 2018-05-23
    • 2020-07-16
    • 1970-01-01
    • 2021-08-08
    • 2017-06-26
    相关资源
    最近更新 更多