2010-04-22 12 views
8

मुझे पता है कि यह आसान है लेकिन मैं इसे काम नहीं कर सकता! मेरे पास सम्मिलित, अद्यतन या आदेशों का चयन करने के साथ कोई जांच नहीं है, मान लें कि मेरे पास एक शब्दकोश है और मैं शब्दकोश में कॉलम नामों के साथ एक तालिका को पॉप्युलेट करना चाहता हूं, जो मेरी एक पंक्ति के साथ गलत है जहां मैं कॉलम जोड़ता हूं?sqlite3 पायथन में कॉलम कैसे जोड़ें?

##create 
con = sqlite3.connect('linksauthor.db') 
c = con.cursor() 
c.execute('''create table linksauthor (links text)''') 
con.commit() 
c.close() 
##populate author columns 
allauthors={'joe':1,'bla':2,'mo':3} 
con = sqlite3.connect('linksauthor.db') 
c = con.cursor() 
for author in allauthors: 
    print author 
    print type(author) 
    c.execute("alter table linksauthor add column '%s' 'float'")%author ##what is wrong here? 
    con.commit() 
c.close() 

उत्तर

14

आपका माता-पिता गुम हो गया है। आप शायद इसका मतलब था:

c.execute("alter table linksauthor add column '%s' 'float'" % author) 
+0

ओएमजी, धन्यवाद lmao, मैं कोड पर बहुत लंबे समय से देख रहा हूँ – user291071

3

आप कॉलम नाम और प्रकार के नाम के लिए स्ट्रिंग का भी उपयोग कर रहे हैं। स्क्लाइट बहुत क्षमाशील है, लेकिन आपको वास्तव में पहचानकर्ताओं के उद्धरण चरित्र के रूप में डबल-कोट्स का उपयोग करना चाहिए।

संबंधित मुद्दे