2010-04-22 28 views
8

Sé que esto es simple pero no puedo hacerlo funcionar! Tengo no hubieron problemas con inserción, actualización o seleccionar comandos, Digamos que tengo un diccionario y quiero llenar una tabla con los nombres de columna en el diccionario lo que está mal con mi una línea en la que agrego una columna?¿Cómo agregar columnas 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() 

Respuesta

14

Tu padre está fuera de lugar. Probablemente quiso decir esto:

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

omg, lmao, gracias, estoy mirando el código demasiado tiempo al parecer – user291071

3

También está utilizando cadenas para el nombre de la columna y el tipo. Sqlite es muy indulgente, pero debería usar comillas dobles como el carácter de comillas para los identificadores.

Cuestiones relacionadas