postgresql - 在 psycopg2 中未执行有效的更新查询
问题描述
我有一个要由 psycopg2 执行的更新 sql 查询,但它似乎没有工作或执行。
我调试要使用mogrify
函数执行的查询。
req = cursor.mogrify(request_update_sql, (status, previous_status, request_id) )
翻译为:
b'UPDATE "TBL_COVER" SET status=\'cancelled\', previous_status=\'pending\', date_updated=current_timestamp WHERE cover_id=\'COVER_00008\''
生成更新 sql 字符串的函数:
def update_request_status(has_comments=False, has_approver_id=False):
str_query = f"UPDATE \"TBL_COVER\" SET status=%s, previous_status=%s, date_updated=current_timestamp WHERE cover_id=%s"
return str_query
原始代码应如下所示,但我测试了简单的更新查询以更轻松地检查错误:
def update_request_status(has_comments=False, has_approver_id=False):
str_query = f"UPDATE \"TBL_COVER\" SET status=%s, previous_status=%s, date_updated=current_timestamp"
if has_comments:
str_query += f", comments=%s"
if has_approver_id:
str_query += f", approver_id=%s"
str_query += f" WHERE cover_id=%s"
return str_query
执行后:
cursor.execute(request_update_sql, (status, previous_status, cover_id) )
我尝试显示光标内容,它说"DatabaseError: no results to fetch"
我有什么想念的吗?任何帮助表示赞赏
解决方案
推荐阅读
- r - R:折线图如何以正确的顺序将x值显示为年和月?
- selenium-webdriver - testng 中的多个 xml 文件未在新文件中运行 jdbc 连接
- bash - 查找唯一文件
- java - 如何在保留参数的同时覆盖spring bean?
- javascript - 通过 Firebase 函数根据时间戳删除旧文档
- android - 颤动中底部溢出 82 像素
- angular - 在打字稿中选择嵌套的 forControl
- php - 有没有办法将 PHP 数组“编码”成 PHP 代码?
- java - 如何循环计算器/将输出发送到文件?
- python - 使用向后兼容的 MacOS 10.15 (Catalina) 创建 Python C 扩展 (MacOS10.9+)