RasmusGP
RasmusGP

Reputation: 5346

Python SQLite best way to use variables in query

Why do i get this error?

sqlite3.OperationalError: near "?": syntax error

when i run this:

c.execute('UPDATE ? SET Quantity = Quantity + ? WHERE Date = ?', (table, amount, date))

But not when i run this?

c.execute('UPDATE table1 SET Quantity = Quantity + ? WHERE Date = ?', (amount, date))

Variable value is:

table = 'table1'
amount = 20
Date = '12/5/2014'

I'm trying to dynamically create tables, but just doesn't work out.

Upvotes: 0

Views: 677

Answers (1)

Daniel Roseman
Daniel Roseman

Reputation: 599610

You can't use placeholders for table names. You have to use normal Python string formatting or concatenation.

Upvotes: 1

Related Questions