Python/pg8000 WHERE IN 语句
Python/pg8000 WHERE IN statement
通过 SQL 语句中的 %s 获取元组(名称)的正确方法是什么?
names = ('David', 'Isaac')
sql = 'SELECT * from names WHERE name IN %s'
cur.execute(sql,(names,))
中的响应适用于 psycopg2,但不适用于 pg8000。
谢谢!
- 生成适当数量的占位符。在 pg8000 the placeholder defaults to
%s
.
- 将占位符插入查询字符串。
- 执行SQL-注入安全查询。
像这样:
sql = 'SELECT * from names WHERE name IN ({})'.format( ','.join(['%s']*len(names)) )
# results in -> 'SELECT * from names WHERE name IN (%s,%s)'
cur.execute(sql,(names,))
通过 SQL 语句中的 %s 获取元组(名称)的正确方法是什么?
names = ('David', 'Isaac')
sql = 'SELECT * from names WHERE name IN %s'
cur.execute(sql,(names,))
谢谢!
- 生成适当数量的占位符。在 pg8000 the placeholder defaults to
%s
. - 将占位符插入查询字符串。
- 执行SQL-注入安全查询。
像这样:
sql = 'SELECT * from names WHERE name IN ({})'.format( ','.join(['%s']*len(names)) )
# results in -> 'SELECT * from names WHERE name IN (%s,%s)'
cur.execute(sql,(names,))