为什么我的sql不执行?

发布于 2024-10-23 15:50:19 字数 649 浏览 6 评论 0原文

我有一个 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)]

到目前为止我已经尝试过:

  • 更改查询,只是为了查看连接是否正常。当我这样做时(我使用“从表中选择信息”),脚本起作用了。
  • 我以为我的查​​询是错误的,但是当我在SQLDeveloper中执行它时 程序,一切顺利。

会发生什么?

谢谢

I have a python script that needs to update a database information.
So, in my init() method, I start the connection. But when I call
the update method, the script does not give me any answer, it seems
like it is into an infinite loop.

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)]

What I've tried so far:

  • Change the query, just to see if the connection is alright. When I did that (I used 'SELECT info from table'), the script worked.
  • I thought that my query was wrong, but when I execute it in SQLDeveloper
    program, it goes right.

What can be happening?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夜无邪 2024-10-30 15:50:19

您忘记调用commit

You are forgetting to call commit.

农村范ル 2024-10-30 15:50:19

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

尝试在 close() 之前添加 con.commit()

Not sure about how to do it in python script, but i think you need to call a "commit" before closing connection. Otherwise oracle rollsback your transaction.

Try adding con.commit() before close()

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文