2010-04-22 8 views
8

So che questo è semplice ma non riesco a farlo funzionare! Non ho problemi con i comandi insert, update o select, diciamo che ho un dizionario e voglio popolare una tabella con i nomi delle colonne nel dizionario cosa c'è di sbagliato nella mia riga dove aggiungo una colonna?Come aggiungere colonne a sqlite3 python?

##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() 

risposta

14

Il paren è mal riposto. Probabilmente intendevi questo:

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

omg, grazie lmao, sto fissando il codice troppo a lungo apparentemente – user291071

3

Si stanno anche utilizzando stringhe per il nome della colonna e il nome del tipo. Sqlite ti perdona molto, ma dovresti usare le virgolette come carattere di citazione per gli identificatori.

Problemi correlati