我想使用panda的read_sql()
方法和参数select count(<column_name>) from <schema_name>.<table_name>;
来运行查询select count(?) from ?.?;
。
我得到错误ValueError: ('Could not connect to db.', DatabaseError('Execution failed on sql \'select count(?) from ?.?;\': (\'42601\', \'[42601] ERROR: syntax error at or near "$2";\\nError while preparing parameters (1) (SQLExecDirectW)\')'))
。
我所拥有的代码正如您所期望的那样:
pd.read_sql('''select count(?) from ?.?;''', conn, params=[column_name, schema_name, table_name)
我提供的实际值为:这是一个很好的例子。
我使用pyodbc生成连接,postgresql是我使用的数据库。
1条答案
按热度按时间f45qwnt81#
Pyodbc
不支持参数化SQL标识符(如方案和表)。库psycopg2
允许您使用这些类型的标识符动态创建SQL字符串。通过遵循psycopg2 site上的这些文档,您可以执行以下操作: