在python中将多个列添加到sqlite数据库

时间:2010-10-21 13:42:38

标签: python sqlite

我想在sqlite数据库中创建一个包含多列的表,比如大约100列。有没有比单独命名每个列更好的解决方案?我正在尝试以下方法:

conn = sqlite3.connect('trialDB')
cur = conn.cursor()

listOfVars = ("added0",)
for i in range(1,100):
    newVar = ("added" + str(i),)
    listOfVars = listOfVars + newVar
print listOfVars

for i in listOfVars:
    cur.execute('''ALTER TABLE testTable ADD COLUMN ? TEXT''',(i,))

conn.commit()    
cur.close()
conn.close()

但是我收到以下错误:

OperationalError: near "?": syntax error

有人可以建议我怎么做吗?谢谢!

1 个答案:

答案 0 :(得分:5)

我猜你可以通过字符串格式化来实现,如下所示:

for i in listOfVars:
    cur.execute('''ALTER TABLE testTable ADD COLUMN %s TEXT''' % i)

但是在sqlite db中有100列肯定不常见,你确定有一个合适的数据库设计吗?