Python以编程方式将尾随逗号添加到元组的末尾

问题描述 投票:0回答:2

我正在构建一个选择查询并以编程方式向其添加元素。问题是我需要值元组有一个尾随逗号。我怎样才能做到这一点?

def build_search_query(user_list, make, model, price_min, price_max):
    sql = """SELECT * FROM mycolumn WHERE user_id = %s, """   
    for i, d in enumerate(user_list):        
        if not i == 0: #skip first user because its already in sql
            next_user = "OR user_id = %s, "
            sql += next_user
    age_str = "AND age = %s, "
    height_str = "AND height = %s, "
    price_min_str = "AND price > %s, "
    price_max_str = "AND price < %s "
    sql += age_str
    sql += height_str
    sql += price_min_str
    sql += price_max_str
    tuple1 = tuple(user_list)    
    tuple2 = (age, height, price_min, price_max,)
    values = tuple1 + tuple2 #this is where I need the trailing comma
    return sql, values
python mysql
2个回答
2
投票

很简单,你不能。该值是元组的内部表示。因此,它没有括号和逗号:这些仅仅是人类阅读的便利。

根据定义,元组没有该逗号。由于您要返回值,而不是打印图像(输出的字符串表示),我不完全确定从何处引导您。


1
投票

我看过你的代码并在第一个条件之后在SQL中的任何条件中选择任何东西没有逗号只需要像这样的AND

SELECT * FROM mycolumn WHERE user_id = %s

age_str = " AND age = {}".format(something)
© www.soinside.com 2019 - 2024. All rights reserved.