为什么我的sql不执行?

时间:2011-03-18 11:19:04

标签: python oracle

我有一个需要更新数据库信息的python脚本。 所以,在我的init()方法中,我开始连接。但是当我打电话时 更新方法,脚本似乎没有给我任何答案 就像它进入一个无限循环。

def update(self,id,newDescription):
     try:
         sql="""UPDATE table SET table.new_string=:1 WHERE table.id=:2"""                                                                               
         con=self.connection.cursor()
         con.execute(sql,(newDescription,id))
         con.close()
     except Exception,e:
         self.errors+=[str(e)]

到目前为止我尝试过:

  • 更改查询,只是为了查看连接是否正常。当我这样做时(我使用了'表中的SELECT信息'),脚本运行了。
  • 我认为我的查询错误,但是当我在SQLDeveloper中执行它时 程序,它是正确的。

可能会发生什么?

由于

2 个答案:

答案 0 :(得分:2)

您忘记致电commit

答案 1 :(得分:1)

不确定如何在python脚本中执行此操作,但我认为您需要在关闭连接之前调用“commit”。否则oracle会回滚你的交易。

尝试在close()

之前添加con.commit()