यहां एक उदाहरण दिया गया है:
import MySQLdb
column = str(MySQLdb.escape_string(row[1]))
query = "update myTable set %(column)s = %%s where ID = %%s" % dict(column = column)
cursor2.execute(query, [row[3], row[0]])
अपडेट करें
यहाँ एक संक्षिप्त टिप्पणी है:
column = str(MySQLdb.escape_string(row[1]))
किसी भी प्रश्न से बचने के लिए हमेशा एक अच्छा विचार है। इस मामले में हम गतिशील रूप से एक कॉलम नाम जोड़ रहे हैं और इसलिए क्वेरी निष्पादित होने से पहले इसे बचाना होगा।
query = "update myTable set %(column)s = %%s where ID = %%s" % dict(column = column)
मैं यहां क्वेरी बना रहा हूं। मैं दो चीजें हासिल करने की कोशिश कर रहा हूं:(1) column
. का उपयोग करके पॉप्युलेट किए गए कॉलम नाम के साथ एक क्वेरी बनाएं पिछली पंक्ति में घोषित चर (2) प्लेसहोल्डर जोड़ें जो क्वेरी निष्पादन के दौरान वास्तविक मापदंडों से भरे जाएंगे।
स्निपेट dict(column = column)
वास्तव में शब्दकोश बनाने का एक और तरीका है {'column': column}
. यह dict
का उपयोग करके संभव बनाया गया है। निर्माता। मैं अभी अन्य स्थान धारकों को भरना नहीं चाहता, इसलिए मैं दो प्रतिशत चिह्नों (%%
) का उपयोग करके उनसे बच निकलता हूं )।
cursor2.execute(query, [row[3], row[0]])
अंत में क्वेरी निष्पादित करें। यदि आप निष्पादित करने से पहले क्वेरी प्रिंट करते हैं तो आपको स्ट्रिंग दिखाई देगी update myTable set column_name = %s where ID = %s
.