当前位置: 首页 > 知识库问答 >
问题:

psycopg2查询返回None

师谦
2023-03-14

一般来说,我对python和编程都是新手。这段代码最终将在更大的应用程序中使用。我为任何错误提前道歉。我正在尝试从postgresql数据库中的表进行简单查询。唯一的结果是没有。尽管我知道那里有数据。提前感谢您的帮助。

import psycopg2

def connect():
    """Connects to the database so you can query the stats you require"""

    conn= psycopg2.connect("dbname='Nascar_Stats' user='postgres' \
                       host='localhost' password='xxxxxxxx'")
    print('Connected to DB')

    cur = conn.cursor()
    cur.execute("SELECT 'Track_Length' FROM t_tracks \
                     WHERE 'Track_ID' = 'Daytona';")

    length = cur.fetchone()
    print('Track Length = ', length)

    conn.close()

共有1个答案

郁宾鸿
2023-03-14

问题是Track_LengthTrack_ID周围的引号。由于引号,列名目前被解释为实际字符串,导致字符串Track_IDDaytona之间的比较不满意。这导致0行匹配查询,并且长度获得值。

删除列名周围的单引号:

cur.execute("""
    SELECT Track_Length 
    FROM t_tracks
    WHERE Track_ID = 'Daytona'
""")
 类似资料:
  • 我正在使用JDBC创建一个数据库,其中包含表和。两者都有一个名为 以下是我创建和填充表的SQL语句: 我试图运行以下查询: 或 或 使用 但是我没有得到任何结果。 这两个问题都可以解决。 SQLite数据库服务器显示相同的问题: 它与Firefox中的SQLite Manager一起工作。

  • 问题内容: 桌子: 我的查询: 我收到“ MySQL子查询返回多个行”错误。 我知道此查询可以使用以下查询的解决方法: 然后使用php循环遍历结果并执行以下查询以获取和回显它: 但是我认为可能会有更好的解决方案? 问题答案: 简单的解决方法是在子查询中添加一个子句: 一个更好的选择(就性能而言)是使用联接:

  • 问题内容: 如何获取使用SQL Server的SQL查询返回的列数? 例如,如果我有如下查询: 它应该返回表A1中的总列数+表A2中的总列数。但是查询可能会更复杂。 问题答案: 这是一种方法: 您可以通过创建视图来执行类似的操作。

  • 我的问题是: 接下来我用 它返回[],即不返回任何内容 但是如果我设置cursor=conn.cursor(),同样的查询会返回一些行!怎么了?为什么我不能使用游标?

  • Firebase查询返回此查询的值 该项由model类捕获 但是,返回null

  • 使用Python和psycopg2,我试图构建一个动态SQL查询来将行插入到表中。 变量有:1。表名2。列名的变量列表3。可变值列表,理想情况下在一条语句中输入多行 我遇到的问题是如何处理从Python到SQL的字符串文字,以及psycopg2如何避免代码受到SQL注入攻击。 使用SQL模块,我已经解决了动态添加表名和列列表的问题。然而,我真的很难添加VALUES。首先,值以%(val)s的形式放