【发布时间】:2018-05-02 04:48:31
【问题描述】:
这行得通:
ss = 'insert into images (file_path) values(?);'
dddd = (('dd1',), ('dd2',))
conn.executemany(ss, dddd)
但事实并非如此:
s = 'insert into images (file_path) values (:v)'
ddddd = ({':v': 'dd11'}, {':v': 'dd22'})
conn.executemany(s, ddddd)
Traceback (most recent call last):
File "/Users/Wes/.virtualenvs/ppyy/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 3035, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-31-a999de59f73b>", line 1, in <module>
conn.executemany(s, ddddd)
ProgrammingError: You did not supply a value for binding 1.
我想知道是否可以将命名参数与 executemany 一起使用,如果可以,如何使用。
第 11.13.3 节中的 documentation 一般谈论参数,但没有讨论为其他风格的 .executexxx() 描述的两种参数样式。
我查看了与 executemany 无关的 Python sqlite3 execute with both named and qmark parameters。
【问题讨论】:
标签: python-2.7 sqlite