我想在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()
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
OperationalError: near "?": syntax error
Run Code Online (Sandbox Code Playgroud)
有人可以建议我该怎么做吗?谢谢!
我猜你可以通过字符串格式化来做到这一点,就像这样:
for i in listOfVars:
cur.execute('''ALTER TABLE testTable ADD COLUMN %s TEXT''' % i)
Run Code Online (Sandbox Code Playgroud)
但是在sqlite db中拥有100列肯定是不常见的,您确定要具有适当的db设计吗?
| 归档时间: |
|
| 查看次数: |
2006 次 |
| 最近记录: |