无法使用pgdb在postgres表中插入数据插入数据

时间:2011-08-23 10:56:03

标签: python postgresql pgdb

我正在尝试使用pgdb在python脚本的postgres表中插入一些值。

起初我试过这个:

cursor.execute('INSERT INTO sites (url) VALUES (%s)', (i,))

这不起作用所以我将其改为

print 'INSERT INTO sites (url) VALUES (\'%s\')' %(i)
cursor.execute('INSERT INTO sites (url) VALUES (\'%s\')' %(i))

print语句的输出为INSERT INTO sites (url) VALUES ('72.240.34.19:80')

如果我将上面的输出粘贴到psql中,它就可以工作(即插入行)。脚本中不会生成错误,但不会插入任何行。用户拥有所有权限并且光标处于活动状态(我可以执行选择等)

由于这是我第一次使用postgres,我怀疑我可能会遗漏一些明显的东西。我查看了我能找到的所有示例,但无法发现我的代码有什么问题。

编辑: 我在代码中添加了这一行: print 'Rowcount %s' %(cursor.rowcount)

此输出Rowcount 1SELECT * FROM sites为空

第二次编辑: 这很奇怪。我手动在表格中插入一行。它是自动生成的id,类型为serial是10.我运行脚本3次,因为之前没有插入任何行。现在当我手动插入一行时,它的id变为14.看起来行插入然后在程序完成执行时删除。我对这个想法已经用完了。

1 个答案:

答案 0 :(得分:0)

引用评论问题//我必须写的东西,因为堆栈需要30个字符//