首页 > 解决方案 > 如何在 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)

标签: pythonweb-scrapingpsql

解决方案


问题是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放入字符串中。


推荐阅读