python - 如何在 psql 中写入更新查询。它显示列不存在
问题描述
这是我尝试过的查询,但它不起作用,它给了我错误,好像该列不存在一样。
我有表Gzip_master
,它包含status
列但是当我尝试执行更新时它给了我
update_value 列不存在
这是我的代码:
update_value = "Scraped"
query = 'UPDATE "Gzip_Master" SET "status"=update_value WHERE status IS null'
self.curs.execute(query)
解决方案
问题是update_value
查询字符串中的文本只是文本,不会被您在上面定义的变量值替换。此外,Scraped
您定义的值是一个字符串而不是列名,您还需要在查询字符串中标记它(请参见下面的单引号;您需要用 a 转义它们,\
因为它们本身出现在单引号字符串中)。试试这样:
update_value = "Scraped"
query = 'UPDATE "Gzip_Master" SET "status"=\'' + update_value + '\' WHERE status IS null'
self.curs.execute(query)
还有许多其他方法可以将值update_value
放入字符串中。
推荐阅读
- azure - 停止到 Azure WebApp 的直接流量,只允许通过 CDN 的流量
- javascript - 为什么图标不显示在角度 5 中?
- mit-scheme - 在 MIT 方案中,(null?lst) 和 (null?(cdr lst)) 有什么区别?
- node.js - 使用 localstorage 而不是数据库来避免对服务器的请求
- apache-pig - Pig Query - 在 AWS EMR 中给出不一致的结果
- javascript - 如何在 Node 中运行两个查询并将它们传递给渲染函数?
- java - 在 arraylist 上使用分隔符
- python - 比较 xarray 与 NumPy 的性能
- flutter - 如何在 Flutter 中测试流中有延迟的 StreamBuilder?
- vbscript - 如何将随机字母大写?