我正在试验Tableau中的Tabpy,并通过仪表板中的用户选择将数据写回数据库。
我的数据连接正常。但是,我在将一个变量传递回SQL查询时遇到了问题,并得到了一个错误,即“变量名”不存在于我试图更新的表中。这是我的密码。
错误声明"dlr_status“不存在于表中。这是我试图传递回查询的变量。数据库是Postgres数据库。任何帮助都是非常感谢的。我已经研究了好几天了,什么也找不到。
SCRIPT_STR("
import psycopg2
import numpy as np
from datetime import date
con = psycopg2.connect(
dbname='edw',
host='serverinfo',
port='5439',
user='username',
password='userpassword')
dlr_no_change = _arg1[0]
dlr_status = _arg2[0]
update_trigger = _arg3[0]
sql = '''update schema.table set status = dlr_status where dlr_no = dlr_no_change'''
if update_trigger == True:
cur = con.cursor()
cur.execute(sql)
cur.commit",
ATTR([Dlr No]), ATTR([dlr_status]), ATTR([Update_Now]))发布于 2022-03-04 12:57:00
您的提交丢失了"()“。或者在创建连接后添加一个con.autocommit = True,如果您不想提交每个步骤。
https://stackoverflow.com/questions/71317056
复制相似问题