通过Psycopg插入到Pg

1 投票
2 回答
593 浏览
提问于 2025-04-15 16:15

如何在Python中修复SQL语句?

数据库连接是正常的。但是,cur.execute 返回的是 none,这显然是不对的。

我的代码

import os, pg, sys, re, psycopg2

try:
   conn = psycopg2.connect("dbname='tk' host='localhost' port='5432' user='naa' password='123'")
except: print "unable to connect to db"
cur = conn.cursor()

print cur.execute("SELECT * FROM courses")     # problem here

在Psql中执行SQL命令可以得到正确的结果。我可以在Psql中正常运行 INSERT,但在Python脚本中却不行。我在/var/log中没有收到任何警告或错误信息。

可能存在的问题有:

  1. cursor(),看起来是对的,但不确定
  2. 方法 connect() 的语法,看起来也没问题

2 个回答

2

你需要调用 cur.fetchall() 方法(或者其他的 fetch*() 方法)来获取查询的结果。

2

你需要在 cur 上调用其中一个 fetch 方法(比如 fetchone、fetchmany 或 fetchall),才能真正获取查询的结果。

你可能应该看看这个 教程,它是关于 DB-API 的。

撰写回答