PostgreSQL问题插入数据

时间:2015-08-20 10:38:49

标签: python database postgresql

我想将数据插入PostgreSQL数据库但是当我尝试插入数据时没有存储在数据库中并且没有生成错误因此我无法找出错误是什么,请帮助< / p>

#!/usr/bin/python

import psycopg2
import psycopg2.extras
import sys


con = None

try:

    con = psycopg2.connect("dbname='mydb' user='merlin' host='192.168.0.104'  password='merlin123'") 
    cursor = con.cursor(cursor_factory=psycopg2.extras.DictCursor)

    cursor.execute("SELECT * FROM table1")

    rows = cursor.fetchall()


except psycopg2.DatabaseError, e:
    print 'Error %s' % e    


finally:

    if con:
        con.close()

try:
   con = psycopg2.connect("dbname='mydb2' user='merlin' host='192.168.0.104'") 
   cursor = con.cursor(cursor_factory=psycopg2.extras.DictCursor)
   query = "INSERT INTO table3 VALUES ('%s', '%s', '%d' , %s)" % (raw[0][0], raw[0][1],raw[0][2],0) 
    #while raw!=None:

   cursor.execute(query)
   con.commit()

except psycopg2.DatabaseError, e:
    print 'Error %s' % e    

finally:

    if con:
        con.close()
    sys.exit(1)

有人可以帮忙解决错误吗?

1 个答案:

答案 0 :(得分:1)

您的问题没有看到异常堆栈跟踪是因为您在sys.exit(1)子句中正在执行finally - 因此您在python有机会显示错误之前退出。

我会大量简化你的脚本(注释掉不必要的部分),然后在你需要的时候逐渐增加你需要的复杂性。

BTW我认为错误将是raw未定义