Python中文
首页
教程
问答
标签
搜索
登录
注册
对PostgreSQL的更新、SET命令的更改似乎并不适用于persis
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>如果满足条件,我将更新Postgres DB表的行</p> <p>假设我有<code>table "fruit"</code>,它的两列是<code>"source"</code>和<code>"status"</code></p> <p>我想将<code>"status"</code>从<code>"SOLD"</code>更新为<code>"EMPTY"</code>,前提是<code>"source"</code>来自<code>"FarmA"</code></p> <p>为了方便起见,我们假设表中只有一行,并且状态现在标记为<code>"SOLD"</code></p> <p>我用python编写的命令是:</p> <pre><code>postgres_update_query = "UPDATE fruit SET status = %s WHERE source = %s" cursor.execute(postgres_update_query, ['EMPTY', 'FarmA'] </code></pre> <p>除了对表所做的更改不是持久性的之外,代码可以工作</p> <p>当我在关闭连接之前检查是否已进行更改时,我可以看到更改已应用</p> <p>但是,如果我重新运行脚本,它会显示尚未应用更改,因此它会再次完全重新运行脚本</p> <p><strong>来自PostgreSQL文档的是<code>SET</code>函数:</strong></p> <p><em>如果在稍后中止的事务中发出SET(或等效的SET SESSION),则在回滚事务时SET命令的效果将消失。 一旦提交了周围的事务,除非被另一个集合覆盖,否则效果将一直持续到会话结束</em></p> <p>我假设当它说“…稍后中止”时意味着关闭数据库连接</p> <p>所以我的问题是,如何使更新持久化</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>结果我只需要在执行命令后提交</p> <pre><code>connection.commit() </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
“matplotlib”ImportError:DLL加载失败:%1不是有效的Win32应用程序
2 回答
“matplotlib”中对字体设置的奇怪响应
3 回答
“matplotlib”如何将绘图调整为图形大小?
6 回答
“Matplotlib不支持生成器作为输入。当我尝试使用scatter()打印列表时”
8 回答
“matplotlib中的点悬停时是否可能显示标签?”
5 回答
“max_features”如何限制sklearn集成模型中的特征数量?
1 回答
“max_poolig2d_3/MaxPool”的1减去2导致维度大小为负
4 回答
“maxiter”参数对中的方法“SLSQP”有效吗scipy.optimize.minimize?
1 回答
“maxRunningTime”选项的格式(谷歌人工智能平台)
6 回答
“MDMenuItem”对象在MDDropdownMenu上没有属性“callback”
9 回答
“Mean”不适用于Pandas数据帧,从Pickle读取16 x 200000+个观察值
8 回答
“MediaDefiningClass”对象不是iterable Djangoimportexp
10 回答
“Medicine”对象没有属性“add”错误
8 回答
“MergeSummary”Op的“inputs”具有与预期类型字符串不匹配的类型[bool,bool,bool,bool,bool,bool,bool]
8 回答
“message”:“所需的请求部分“file\”不存在”
2 回答
“message”是Django还是Python中的保留字?
1 回答
“method”和“method”的实例之间不支持“<”,Python,Djang
8 回答
“method”对象不可订阅。不知道怎么了
1 回答
“Method”对象不是iterab
4 回答
“method”对象不是iterable dataframe python
5 回答