Как добавить столбцы в sqlite3 python? - PullRequest
8 голосов
/ 22 апреля 2010

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

##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 ]

15 голосов
/ 22 апреля 2010

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

c.execute("alter table linksauthor add column '%s' 'float'" % author)
3 голосов
/ 22 апреля 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...