簡體   English   中英

在不復制變量的情況下重用%s占位符?

[英]Reuse %s placeholder without duplicating the variable?

適用於Linux(x86_64)的mysql Ver 14.14 Distrib 5.7.19

我正在運行這樣的INSERT / ON DUPLICATE KEY UPDATE查詢:

query = ("INSERT INTO table SET col1 = %s, col2 = %s, col3 = %s ON DUPLICATE KEY UPDATE col2 = %s, col3 = %s")
cursor.execute(insert_post, (var1, var2, var3, var2, var3,))

有沒有一種方法可以在不重用cursor.execute()函數中的每個變量的情況下進行操作,還是我最好使用format()進行字符串格式化?

IIUC,使用命名格式化程序,並將dict作為第二個參數傳遞。

query = ("""INSERT INTO table 
            SET col1 = %(var1)s, 
                col2 = %(var2)s, 
                col3 = %(var3)s 
            ON DUPLICATE KEY UPDATE col2 = %(var2)s, 
                                    col3 = %(var3)s""")
cursor.execute(insert_post, {'var1' : var1, 'var2' : var2, 'var3' : var3})

參考。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM