在使用pymysql的execute_many进行批量数据插入的时候,出现 not all arguments converted with on duplicate key update
。
sql = insert into test(a,b)values(%s,%s) on duplicate key update b=%s
params=[(1,2),(3,4),(5,6)]
db.executemany(sql,params)
一开始以为是%s跟参数没有对应上,然后去一个一个对,发现还是报这个错误。然后我尝试插入一条的时候,没有报错。证明不是%s跟参数对应不上的问题。
然后上网查资料。sql改成:
sql = insert into test(a,b)values(%s,%s) on duplicate key update b=values(b)就行了。
第一次知道mysql还有这种写法。
参考:
本文介绍了解决在使用pymysql进行批量数据插入MySQL数据库时遇到的not all arguments converted with ON DUPLICATE KEY UPDATE错误的方法。通过调整SQL语句中ON DUPLICATE KEY UPDATE子句的写法,成功解决了这一问题。

2917

被折叠的 条评论
为什么被折叠?



