在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 个回答
6
我想你可以通过字符串格式化来实现,像这样:
for i in listOfVars:
cur.execute('''ALTER TABLE testTable ADD COLUMN %s TEXT''' % i)
不过,在sqlite数据库中有100列可不是很常见,你确定你的数据库设计是合理的吗?