您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

pyscopg2:是否可以在循环中动态添加%s

pyscopg2:是否可以在循环中动态添加%s

您可以使用sql.Placeholder,用所需的%s-placeholders数量填充sql语句:

def load_table(dbname,table_name,fields,records):
        con, cur = create_connection('foo')
        query = sql.sql("insert into {} ({}) values ({})").format(
            sql.Identifier(table_name),
            sql.sql(', ').join(map(sql.Identifier, fields)),
            sql.sql(', ').join(sql.Placeholder() * len(fields)))
        print(query.as_string(con))


if __name__ == '__main__':
    dbname = '...'
    table_name = 'messages'
    fields = ['user_id', 'message_type', 'message_title']
    records = [['12345', 'json', 'my first message'], ]

load_table(dbname,table_name,fields,records)

输出

insert into "messages" ("user_id", "message_type", "message_title") values (%s, %s, %s)
其他 2022/1/1 18:48:20 有286人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶