Psycopg2 SQL 语句在查询生成器中工作,但不是在 Python 中
Posted
技术标签:
【中文标题】Psycopg2 SQL 语句在查询生成器中工作,但不是在 Python 中【英文标题】:Psycopg2 SQL Statment is working from the query Builder but not from 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 没有得到更新我做错了什么我没有正确地逃避一些事情吗?
【问题讨论】:
您这样做可能只是为了说明您当前的查询,但最好的做法是单独发送参数。总是。通过这样做,您也无需担心正确转义查询中的数据。 【参考方案1】:需要commit
在第一个命令之前被Psycopg自动开启的事务
connection.commit()
http://initd.org/psycopg/docs/connection.html
【讨论】:
以上是关于Psycopg2 SQL 语句在查询生成器中工作,但不是在 Python 中的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 查询因 RODBC 连接而失败,在 SQL Server 中工作
偶尔在 MS Access 中工作的简单 SQL 更新语句?