2010-04-22 2 views
8

Я знаю, что это просто, но я не могу заставить его работать! У меня нет проблем с вставкой, обновлением или выбором команд. Скажем, у меня есть словарь, и я хочу заполнить таблицу именами столбцов в словаре, что не так с моей одной строкой, где я добавляю столбец?Как добавить столбцы в 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() 

ответ

14

Ваш пенис неуместен. Возможно, вы имели в виду это:

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

omg, спасибо lmao, я смотрю на код слишком долго, очевидно – user291071

3

Вы также используете строки для имени и имени столбца. Sqlite очень прощает, но вы действительно должны использовать двойные кавычки в качестве символа цитирования для идентификаторов.

Смежные вопросы