【问题标题】:Psycopg2 SQL Statment is working from the query Builder but not from PythonPsycopg2 SQL 语句在查询生成器中工作,但不是在 Python 中
【发布时间】:2014-08-17 15:05:30
【问题描述】:

我要使用的语句如下:

UPDATE table SET colum1 = 1  WHERE colum2 LIKE '%gasse%';

当我完全使用此语句时,所有包含 gasse 的内容都会更新,但是当我在 python 中使用 Psycopg2 执行此操作时:

sqlstring = """UPDATE table SET colum1 = 1  WHERE colum2 LIKE '%gasse%';"""
cur.execute(sqlstring)

colum1 没有得到更新我做错了什么我没有正确地逃避一些事情吗?

【问题讨论】:

  • 您这样做可能只是为了说明您当前的查询,但最好的做法是单独发送参数。总是。通过这样做,您也无需担心正确转义查询中的数据。

标签: postgresql python-2.7 postgresql-9.2 psycopg2


【解决方案1】:

需要commit在第一个命令之前被Psycopg自动开启的事务

connection.commit()

http://initd.org/psycopg/docs/connection.html

【讨论】:

    猜你喜欢
    • 2017-01-14
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    • 2017-03-15
    • 1970-01-01
    • 2021-05-03
    • 2018-04-12
    • 1970-01-01
    相关资源
    最近更新 更多