【问题标题】:Inserting multiple items into DB error将多个项目插入数据库错误
【发布时间】:2012-06-13 22:42:20
【问题描述】:

我对 Flask/SQLite 不太熟悉,但我正在尝试一次性将多个项目插入数据库。

g.db.execute('insert into images(fileName, fileTitle, file_height, file_width, file_size) values (?,?,?,?,?)', filename, request.form['title'], fileMetaData['height'], fileMetaData['width'], fileMetaData['fileSize'])

跑步给了我一个

TypeError:函数最多接受 2 个参数(给定 6 个)

这样做的最佳方法是什么?我理解这个错误,但我不明白我应该怎么做。

【问题讨论】:

    标签: python sqlite flask


    【解决方案1】:

    我相信参数必须是一个元组:

    g.db.execute('insert into images(fileName, fileTitle, file_height, file_width, file_size) values (?,?,?,?,?)', (filename, request.form['title'], fileMetaData['height'], fileMetaData['width'], fileMetaData['fileSize'])) 
    

    【讨论】:

    • 它似乎运行良好并且没有向我抛出错误。只需要检查一下。它奏效了,谢谢。我只是按照我在他们的 Flaskr 教程中阅读的内容进行的。
    • 这是迂腐的,我知道,但它是一个元组,而不是一个列表。如果您只想传递一个项目,则需要像这样创建一个单例元组:g.db.execute("SELECT name FROM users WHERE user_id=?", (user_id,))(注意结尾的逗号,)
    猜你喜欢
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    相关资源
    最近更新 更多