另外一个问题.我正在尝试:
self.table = 'table'
a = 'column'
b = 'value'
c.execute('INSERT INTO ? (?) VALUES (?)', (self.table, a, b))
Run Code Online (Sandbox Code Playgroud)
但我得到了
<class 'sqlite3.OperationalError'>:near "?": syntax error
Run Code Online (Sandbox Code Playgroud)
同时,
c.execute('INSERT INTO {0} ({1}) VALUES ({2})'.format(self.table, a, b))
Run Code Online (Sandbox Code Playgroud)
除安全问题外,工作完美无缺.
我意识到我不是第一个遇到这个问题的人,但我还没有找到适合我的解决方案.
表名,列名不能参数化.请尝试以下方式.
self.table = 'table'
b = 'value'
c.execute('INSERT INTO {} ({}) VALUES (?)'.format(self.table, a), (b,))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2211 次 |
| 最近记录: |