如何在准备好的语句游标中添加集合(列表等)参数
How to add a collection(list etc) param in prepared statement cursor
所以我正在使用 asyncpg 准备语句并执行查询。我在查询中传递位置参数。
目前,我传递了 stmt.cursor(params[0], params[1])
,但如果我不知道传递了多少参数,所以想传递一个列表或其他东西给这个方法怎么办。在这种情况下我该如何实现?
我当前的代码:
async def execute_ps(dsn):
conn = await asyncpg.connect(dsn)
sql_query = """select * from table1 where id = and name="""
params = [var1, var2]
stmt = await conn.prepare(sql_query)
result = []
try:
async with conn.transaction():
async for record in stmt.cursor(params[0], params[1]): # want to pass list here
print(record)
result.append(record)
except Exception as e:
print("exception: {}", e)
if conn is None:
await conn.close()
return result
我的错。我发现它必须使用 *.我是 python 的新手,所以一开始没想明白!
async for record in stmt.cursor(*params)
所以我正在使用 asyncpg 准备语句并执行查询。我在查询中传递位置参数。
目前,我传递了 stmt.cursor(params[0], params[1])
,但如果我不知道传递了多少参数,所以想传递一个列表或其他东西给这个方法怎么办。在这种情况下我该如何实现?
我当前的代码:
async def execute_ps(dsn):
conn = await asyncpg.connect(dsn)
sql_query = """select * from table1 where id = and name="""
params = [var1, var2]
stmt = await conn.prepare(sql_query)
result = []
try:
async with conn.transaction():
async for record in stmt.cursor(params[0], params[1]): # want to pass list here
print(record)
result.append(record)
except Exception as e:
print("exception: {}", e)
if conn is None:
await conn.close()
return result
我的错。我发现它必须使用 *.我是 python 的新手,所以一开始没想明白!
async for record in stmt.cursor(*params)