【问题标题】:update query execution in python在python中更新查询执行
【发布时间】:2016-10-07 07:09:09
【问题描述】:

我在 sql developer 上执行这个查询,它工作正常

update TABLE_X set COL_SID='19' where ID='1';

但是当我通过 python 代码这样做时

cur=conn.cursor()
updt_query='update TABLE_X set COL_SID=? where ID=?'
cur.execute(updt_query,('19','1'))
cur.close()

我遇到错误

cx_Oracle.DatabaseError: ORA-01036: illegal variable name/number

请让我知道我在哪里做错了。

【问题讨论】:

    标签: python sql oracle


    【解决方案1】:

    可能是 ID 是数字而不是字符串,所以你应该使用

     cur.execute(updt_query,(19,1))
    

    【讨论】:

      【解决方案2】:

      我有更好的方法

      cur=conn.cursor()
      updt_query='update TABLE_X set COL_SID=:cs where ID=:id'
      cur.execute(updt_query,{cs:'19',id:'1'})
      cur.close()
      

      完成了!谢谢!

      【讨论】:

        猜你喜欢
        • 2018-05-08
        • 2019-07-16
        • 2018-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多