python - Python 绑定 variables

我在这里完全迷失了:

v_sql = "SELECT widget_name, widget_url FROM widget_calls WHERE widget_name = :widget"
cursor.execute(v_sql, widget=widget_name)
df_wid = pd.read_sql(v_sql, con=connection)

结果:

pandas.io.sql.DatabaseError: Execution failed on sql 'SELECT widget_name, widget_url FROM widget_calls WHERE widget_name = :widget': ORA-01008: not all variables bound

执行中有 1 个 bind 变量、:widget 和 1 个声明。那么,我错过了什么?

回答1

cursor.execute 调用和 pd.read_sql 调用完全不相关。您正在执行两次查询,并丢弃了第一个结果。我会删除无用的cursor.execute

对于 read_sql,您需要:

df_wid = pd.read_sql( v_sql, con=connection, params={'widget': widget_name})

相似文章

最新文章