如何向sqlite3 python添加列?

如何向sqlite3 python添加列?,python,sqlite,Python,Sqlite,我知道这很简单,但我不能让它工作!我对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

我知道这很简单,但我不能让它工作!我对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()

你的父母放错地方了。你可能是这个意思:

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

您还使用字符串作为列名和类型名。Sqlite非常宽容,但您确实应该使用双引号作为标识符的引号字符