2010-04-22 8 views
8

Wiem, że to jest proste, ale nie mogę go uruchomić! Nie mam żadnych problemów z komendą wstawiania, aktualizowania lub wybierania. Powiedzmy, że mam słownik i chcę wypełnić tabelę nazwami kolumn w słowniku, co jest nie tak z moim wierszem, do którego dodaję kolumnę?Jak dodać kolumny do pytka 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() 

Odpowiedz

14

Twoja parenka jest zgubiona. Prawdopodobnie miałeś to na myśli:

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

omg, dzięki Lmao, patrzę na kod zbyt długo pozornie – user291071

3

Używasz także ciągów znaków dla nazwy kolumny i jej nazwy. Sqlite jest bardzo wyrozumiały, ale naprawdę powinieneś używać podwójnych cudzysłowów jako znaków cytujących dla identyfikatorów.

Powiązane problemy