Как добавить столбцы в sqlite3 python?

Я знаю, что это простой, но я не могу заставить его работать! У меня нет проблем с командами insert, update или select, скажем, у меня есть словарь, и я хочу заполнить таблицу именами столбцов в словаре что не так с моей одной строкой, где я добавляю столбец?

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

2 ответов


ваш парень неуместен. Ты наверное имел ввиду это:

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

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