0
我知道,我們可以使用executemany這樣:是否有可能使用映射來執行MySQLdb的executemany功能(字典)
sql = "insert into a(c1,c2,c3) values(%s,%s,%s)"
seq_of_parameters = [('a','b','c'),('a','b','c')]
cu.executemany(sql,seq_of_parameters)
我不知道爲什麼這不起作用:
sql = "insert into a(c1,c2,c3) values(%(c1)s,%(c2)s,%(c3)s)"
seq_of_parameters = [{'c1':'a','c2':'b','c3':'c'},{'c1':'a','c2':'b','c3':'c'}]
cu.executemany(sql,seq_of_parameters)
來自PEP249 Python數據庫API規範2.0版本
.executemany(operation,seq_of_parameters)
準備數據庫操作(查詢或命令),然後 針對在序列seq_of_parameters中找到的所有參數序列或映射 執行它。
也許MySQLdb只是不支持它。使用元組的序列就好了 – suyugo