另一个问题。我正在尝试:
self.table = 'table'
a = 'column'
b = 'value'
c.execute('INSERT INTO ? (?) VALUES (?)', (self.table, a, b))
但是我得到了
<class 'sqlite3.OperationalError'>:near "?": syntax error
同时,
c.execute('INSERT INTO {0} ({1}) VALUES ({2})'.format(self.table, a, b))
工作完美,除了安全问题。
我知道我不是第一个遇到这个问题的人,但我还没有找到适合我的解决方案。
最佳答案
表名、列名不能参数化。请尝试跟随。
self.table = 'table'
b = 'value'
c.execute('INSERT INTO {} ({}) VALUES (?)'.format(self.table, a), (b,))
关于 "?"附近的 Python SQLite : syntax error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18159352/