使用python往mysql批量插入数据时,报错not all arguments converted

我用这段命令可以往mysql数据库插入数据

insert into moderation_task(id, media_id, user_id, media_url_or_path, media_title, media_source,
          created, updated, status, is_del) values(105, 75, 1,
          '/audit_source/origin_video/2360deca955311e8bbd966d3bcd97028.mp4', '006.mp4', 'abc', '2018-08-01 06:21:37', '2018-08-01 06:21:37', 0,
         0)

但是无法使用python进行数据插入

这是我的python代码

users_values = []
            for i in range(105, 195, 1):
                users_values.append((i, 75, 1, '/audit_source/origin_video/2360deca955311e8bbd966d3bcd97028.mp4', '006.mp4', 'abc', '2018-08-01 06:21:37', '2018-08-01 06:21:37', 0, 0))
            print(users_values)

            cs1.executemany('insert into moderation_task(id, media_id, user_id, media_url_or_path, media_title, media_source, created, updated, status, is_del) value(%s, %s, %s, %s, %s, %s, %s, %s, %s)',
                            users_values)

每次都是这个错误

图片描述

阅读 3.7k
2 个回答
%s和前面传入的参数数量好像不一致,你的%s有9个,你要传入的users_values里面的值貌似不是9个,这两个必须一致
cs1.executemany('insert into moderation_task(id, media_id, user_id, media_url_or_path, media_title, media_source, created, updated, status, is_del) value(%s, %s, %s, %s, %s, %s, %s, %s, %s)',users_values)

字段有10个,格式化的值只有9个吧

cs1.executemany('insert into moderation_task(id, media_id, user_id, media_url_or_path, media_title, media_source, created, updated, status, is_del) value(%s, %s, %s, %s, %s, %s, %s, %s, %s,%s)',users_values)

另外检查一下格式化的数据和数据库的数据类型,大概。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏