美文网首页
操作mysql数据库用executemany遇到的问题

操作mysql数据库用executemany遇到的问题

作者: Fosen波波 | 来源:发表于2019-05-06 18:34 被阅读0次

用python的MySQLdb库操作mysql数据库时,使用executemany可以批量插入数据,提高写入速度。使用executemany碰到的问题:

1. executemany和on duplicate key update一起用的时候:

错误的写法:

'INSERT INTO test (video_path,video_name) VALUES (%s,%s) ON DUPLICATE KEY UPDATE video_name =%s;'

报错:

TypeError: not all arguments converted during string formatting

正确的写法:

'INSERT INTO test (video_path,video_name) VALUES (%s,%s) ON DUPLICATE KEY UPDATE video_name =values(video_name);'

2. max_allowed_packet

报错:

_mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')

因为mysql设置了写入的最大数据大小。查询大小:

mysql> show variables like "max_allowed_packet";

可以修改该值或者分批写入。

相关文章

网友评论

      本文标题:操作mysql数据库用executemany遇到的问题

      本文链接:https://www.haomeiwen.com/subject/qaidoqtx.html