我正在尝试使用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 1
但SELECT * FROM sites
为空
第二次编辑: 这很奇怪。我手动在表格中插入一行。它是自动生成的id,类型为serial是10.我运行脚本3次,因为之前没有插入任何行。现在当我手动插入一行时,它的id变为14.看起来行插入然后在程序完成执行时删除。我对这个想法已经用完了。
答案 0 :(得分:0)
引用评论问题//我必须写的东西,因为堆栈需要30个字符//