pysqlite: Placeholder substitution for column or table names?
Using pysqlite I am making a procedure to do something with some data. The same kind of operation is done on similar fields in multiple tables and columns, so I thought I could parameterize the sql statement as shown below: def foo(): column = 'c' table = 't' row = 1 # preferred approach, gives syntax error c.execute('SELECT ? FROM ? WHERE id=?', (column, table, row)) # sanity check, works fine c.execute('SELECT c FROM t WHERE id=?', (row)) # workaround, also works, but is this the right way? c.execute('SELECT % FROM % WHERE id=?' % (column, table), row)) The error I get is not very helpful (