Curious2learn
Curious2learn

Reputation: 33628

add multiple columns to an sqlite database in python

I want to create a table with multiple columns, say about 100 columns, in an sqlite database. Is there a better solution than naming each column individually? I am trying the following:

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()

But I get the following error:

OperationalError: near "?": syntax error

Can someone please suggest how I can do this? Thanks!

Upvotes: 4

Views: 2973

Answers (1)

mripard
mripard

Reputation: 2356

I guess you could do it through string formatting, like this :

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

But having 100 columns in a sqlite db is certainly not common, are you sure of having a proper db design ?

Upvotes: 6

Related Questions