добавить несколько столбцов в базу данных sqlite в python - PullRequest
3 голосов
/ 21 октября 2010

Я хочу создать таблицу с несколькими столбцами, скажем, около 100 столбцов, в базе данных sqlite.Есть ли лучшее решение, чем именовать каждый столбец отдельно?Я пытаюсь сделать следующее:

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 Ответ

5 голосов
/ 21 октября 2010

Полагаю, вы могли бы сделать это через форматирование строк, например:

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

Но наличие 100 столбцов в sqlite db, конечно, не распространено, вы уверены в правильном дизайне БД?

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