通过Psycopg插入Pg

时间:2009-11-22 15:23:05

标签: python postgresql psycopg

如何在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. 游标(),似乎是正确的
  2. 方法的语法 connect() ,似乎没问题

2 个答案:

答案 0 :(得分:2)

您必须在fetch(fetchone,fetchmany,fetchall)上调用其中一个cur方法来实际获取查询结果。

您可能应该阅读tutorialDB-API

答案 1 :(得分:2)

您必须调用cur.fetchall()方法(或其他fetch*()方法之一)才能从查询中获取结果。