weixin_43864895
weixin_43864895
2019-09-12 11:41
采纳率: 100%
浏览 3.8k

数据存入数据库时出现not enough argument for format string

sql = """
INSERT INTO douban_movie
(rank, title, types, regions, release_date, score, actors)
VALUES (%s, %s, %s, %s, %s, %s, %s);
"""
cursor.executemany(sql, values)
conn.commit()图片说明

在sql语句拼接那行中止的,出现not enough argument for format string的错误,这是为什么?感谢回答者

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • SpiritedAway1106
    积跬步以至千里。 2019-09-20 16:05
    已采纳

    cursor.executemany 为批量操作,批量就是一次能写入多行数据,所以你传入cursor.executemany(sql, values)的values参数,应是多行的,即 [(一组数据),(另一组数据)],而你直接传入的是 (一行数据) ,不符合参数格式要求 ,应该修改为vales=[(一组数据)],或者用单行操作:cursor.execute(sql,values)。

    点赞 2 评论
  • CodingIsFun
    CodingIsFun 2019-09-12 16:40

    提示说的是“字符串格式所需的变量不够”。是传给函数的变量不够吗?

    点赞 评论