亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在我們需要手動構建查詢的情況下如何使用查詢參數?

在我們需要手動構建查詢的情況下如何使用查詢參數?

MM們 2022-11-01 14:28:09
我正在使用 Python 2 并具有以下代碼:with conn.cursor() as cursor:    info("Updating {} records".format(len(records_to_update)))    for record in records_to_update:        query = "UPDATE my_table SET "        params_setters = []        # Process all fields except wsid when updating        for index, header in enumerate(DB_COLUMNS_IN_ORDER[1:]):            if record[index] is not None:                params_setters.append("{} = '{}' ".format(header, record[index]))        query += " , ".join(params_setters)        query += " WHERE id = '{}'".format(record[0])        cursor.execute(query)如何在此處使用查詢參數進行轉義,而不必在以下位置手動進行:params_setters.append("{} = '{}' ".format(header, record[index]))
查看完整描述

1 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

如果我理解你的問題,你想使用準備好的陳述。如果您使用的%s是用于表示查詢參數的驅動程序(SQLite 使用?),則:


with conn.cursor() as cursor:

    info("Updating {} records".format(len(records_to_update)))

    params = []

    for record in records_to_update:

        query = "UPDATE my_table SET "

        params_setters = []

        # Process all fields except wsid when updating

        for index, header in enumerate(DB_COLUMNS_IN_ORDER[1:]):

            if record[index] is not None:

                params_setters.append("{} = %s ".format(header))

                params.append(record[index])

        query += " , ".join(params_setters)

        query += " WHERE id = %s"

        params.append(record[0])

        cursor.execute(query, params)


查看完整回答
反對 回復 2022-11-01
  • 1 回答
  • 0 關注
  • 104 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號